Compare commits
44 Commits
personal
...
85d4c44b31
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
85d4c44b31 | ||
|
|
3882f7f805 | ||
|
|
3a85cfd58f | ||
|
|
528e601702 | ||
|
|
6c333586fd | ||
|
|
5f387b0f7f | ||
|
|
66b8d10aea | ||
|
|
84294ac88d | ||
|
|
69a847d43c | ||
|
|
5f35501f68 | ||
|
|
405659af0a | ||
|
|
eec1f820fc | ||
|
|
44811bbfcd | ||
|
|
6659e4a691 | ||
|
|
f859e98b82 | ||
|
|
7bdce4f6b8 | ||
|
|
03dc7fbe72 | ||
|
|
0b910f6e49 | ||
|
|
f2d5a10748 | ||
|
|
36806958e1 | ||
|
|
a5dafdfbff | ||
|
|
1451c9db00 | ||
|
|
ea948d4508 | ||
|
|
8f70254615 | ||
|
|
2bad7ec707 | ||
|
|
27820d5005 | ||
|
|
dcfe759794 | ||
|
|
b7237dacaf | ||
|
|
63bd661602 | ||
|
|
be84313c2c | ||
|
|
d223037865 | ||
|
|
6fbf3b768f | ||
|
|
99638caa52 | ||
|
|
7c602e62bc | ||
|
|
55a7f6dc13 | ||
|
|
02e8dfa531 | ||
|
|
8cb9838e07 | ||
|
|
f6a1d7e158 | ||
|
|
0ffe1c07cf | ||
|
|
eac6d7dd53 | ||
|
|
bbb47d1a93 | ||
|
|
ab96aa95e1 | ||
|
|
930b5f7190 | ||
|
|
c2941ef7ea |
8
.gitignore
vendored
8
.gitignore
vendored
@@ -1,7 +1,3 @@
|
|||||||
tags
|
|
||||||
test.sh
|
|
||||||
.luarc.json
|
|
||||||
nvim
|
|
||||||
|
|
||||||
spell/
|
|
||||||
lazy-lock.json
|
lazy-lock.json
|
||||||
|
spell/*
|
||||||
|
|
||||||
|
|||||||
7
colors/noctalia.lua
Normal file
7
colors/noctalia.lua
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
return {
|
||||||
|
bg = "#291414",
|
||||||
|
fg = "#f3f2f2",
|
||||||
|
accent = "#e46767",
|
||||||
|
error = "#fd4663",
|
||||||
|
warning = "#cccc66",
|
||||||
|
}
|
||||||
57
colors/testTheme.lua
Normal file
57
colors/testTheme.lua
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
return {
|
||||||
|
|
||||||
|
-- color approach
|
||||||
|
|
||||||
|
red = "#ff3d00",
|
||||||
|
orange = "#e58e44",
|
||||||
|
green = "#77b886",
|
||||||
|
yellow = "#f7cb92",
|
||||||
|
blue = "#7689d9",
|
||||||
|
magenta = "#8f509d",
|
||||||
|
cyan = "#8fb9f4",
|
||||||
|
black = "#000000",
|
||||||
|
bright_red = "#ff6347",
|
||||||
|
bright_orange = "#f6aa6b",
|
||||||
|
bright_green = "#a3d6a5",
|
||||||
|
bright_yellow = "#ffe56e",
|
||||||
|
bright_blue = "#9eabe6",
|
||||||
|
bright_magenta = "#b78fc2",
|
||||||
|
bright_cyan = "#a4c4ff",
|
||||||
|
white = "#ffffff",
|
||||||
|
gutter_fg = "#78808f",
|
||||||
|
nontext = "#d2d6dc",
|
||||||
|
-- element approach
|
||||||
|
bg = "#0f1c2e",
|
||||||
|
fg = "#e6e8ee",
|
||||||
|
cursorline = "#1c2b3a",
|
||||||
|
selection = "#2e3c55",
|
||||||
|
linenr = "#4a5a70",
|
||||||
|
comment = "#7d88a1",
|
||||||
|
|
||||||
|
-- Syntax
|
||||||
|
keyword = "#f28fad",
|
||||||
|
Function = "#89b4fa",
|
||||||
|
string = "#f9e2af",
|
||||||
|
constant = "#cdd6f4",
|
||||||
|
type = "#cba6f7",
|
||||||
|
number = "#fab387",
|
||||||
|
boolean = "#f38ba8",
|
||||||
|
operator = "#94a3b8",
|
||||||
|
variable = "#e0def4",
|
||||||
|
|
||||||
|
-- UI
|
||||||
|
cursor = "#f5a97f",
|
||||||
|
visual = "#2e3c55",
|
||||||
|
search = "#f5c2e7",
|
||||||
|
statusline = "#1e293b",
|
||||||
|
menu_bg = "#1a2535",
|
||||||
|
menu_sel = "#3b4252",
|
||||||
|
fold = "#3e4a5a",
|
||||||
|
split = "#334155",
|
||||||
|
|
||||||
|
-- Diagnostics
|
||||||
|
diag_error = "#f38ba8",
|
||||||
|
diag_warn = "#fab387",
|
||||||
|
diag_info = "#89dceb",
|
||||||
|
diag_hint = "#b4befe",
|
||||||
|
}
|
||||||
242
init.lua
242
init.lua
@@ -1,161 +1,101 @@
|
|||||||
-- River Rooks nvim config
|
-- River Rooks nvim config
|
||||||
|
-- /init.lua
|
||||||
|
-- This file is the first thing nvim renderes on boot.
|
||||||
|
-- from here we tell it to load the options and keybinds files, as well as bootstrap Lazy, our plugin manager
|
||||||
|
|
||||||
-- [[setup]]
|
-- execute the following files in the /lua directory
|
||||||
vim.g.mapleader = ' '
|
require('options')
|
||||||
vim.g.maplocalleader = ' '
|
require('keybinds')
|
||||||
-- Set to true if you have a Nerd Font installed and selected in the terminal
|
require("config.lazy")
|
||||||
vim.g.have_nerd_font = true
|
|
||||||
|
|
||||||
|
-- now that we have loaded our basic settings and started lazy, we need to configure lazy to our liking
|
||||||
vim.g.netrw_liststyle = 3
|
|
||||||
vim.g.netrw_banner = 1
|
|
||||||
vim.g.netrw_altv = 1 -- Create the split of the Netrw window to the left
|
|
||||||
vim.g.netrw_winsize = 30 -- Set the width of the "drawer"
|
|
||||||
vim.g.netrw_browse_split = 4 -- Open files in previous window. This emulates the typical "drawer" behaviorkjk
|
|
||||||
|
|
||||||
-- [[Setting options]]
|
|
||||||
-- See `:help vim.o`
|
|
||||||
-- NOTE: You can change these options as you wish!
|
|
||||||
-- For more options, you can see `:help option-list`
|
|
||||||
-- Make line numbers default
|
|
||||||
vim.o.number = true
|
|
||||||
-- You can also add relative line numbers, to help with jumping.
|
|
||||||
-- Experiment for yourself to see if you like it!
|
|
||||||
vim.o.relativenumber = true
|
|
||||||
-- Don't show the mode, since it's already in the status line
|
|
||||||
vim.o.showmode = false
|
|
||||||
-- Sync clipboard between OS and Neovim.
|
|
||||||
-- Schedule the setting after `UiEnter` because it can increase startup-time.
|
|
||||||
-- Remove this option if you want your OS clipboard to remain independent.
|
|
||||||
-- See `:help 'clipboard'`
|
|
||||||
vim.schedule(function()
|
|
||||||
vim.o.clipboard = 'unnamedplus'
|
|
||||||
end)
|
|
||||||
-- Enable break indent
|
|
||||||
-- Save undo history
|
|
||||||
vim.o.undofile = true
|
|
||||||
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
|
|
||||||
vim.o.ignorecase = true
|
|
||||||
vim.o.smartcase = true
|
|
||||||
-- Keep signcolumn on by default
|
|
||||||
vim.o.signcolumn = 'yes'
|
|
||||||
-- Decrease update time
|
|
||||||
vim.o.updatetime = 250
|
|
||||||
-- Decrease mapped sequence wait time
|
|
||||||
vim.o.timeoutlen = 300
|
|
||||||
-- Configure how new splits should be opened
|
|
||||||
vim.o.splitright = true
|
|
||||||
vim.o.splitbelow = true
|
|
||||||
vim.o.list = true
|
|
||||||
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
|
|
||||||
-- Preview substitutions live, as you type!
|
|
||||||
vim.o.inccommand = 'split'
|
|
||||||
-- Show which line your cursor is on
|
|
||||||
vim.o.cursorline = true
|
|
||||||
-- Minimal number of screen lines to keep above and below the cursor.
|
|
||||||
vim.o.scrolloff = 25
|
|
||||||
-- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`),
|
|
||||||
-- instead raise a dialog asking if you wish to save the current file(s)
|
|
||||||
-- See `:help 'confirm'`
|
|
||||||
vim.o.confirm = true
|
|
||||||
-- [[Keybinds]]
|
|
||||||
-- See `:help vim.keymap.set()`
|
|
||||||
-- See `:help hlsearch`
|
|
||||||
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
|
||||||
-- Diagnostic keymaps
|
|
||||||
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
|
|
||||||
|
|
||||||
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
|
|
||||||
|
|
||||||
|
|
||||||
-- run clear and make in open terminal
|
|
||||||
vim.keymap.set('n','<leader>r','<cmd>TermExec cmd="clear && make"<CR>', { desc = '[r]un make in terminal' })
|
|
||||||
vim.keymap.set('n','<leader>n', '<cmd>ToggleTerm direction=vertical name=compile size=70<CR>', { desc = 'open a [n]ew terminal' })
|
|
||||||
vim.keymap.set('n','<leader>t', '<cmd>ToggleTerm<CR>', {desc = '[T]oggle all terminals'})
|
|
||||||
|
|
||||||
-- TIP: Disable arrow keys in normal mode
|
|
||||||
vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
|
|
||||||
vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
|
|
||||||
vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
|
|
||||||
vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
|
|
||||||
|
|
||||||
-- Keybinds to make split navigation easier.
|
|
||||||
-- Use CTRL+<hjkl> to switch between windows
|
|
||||||
--
|
|
||||||
-- See `:help wincmd` for a list of all window commands
|
|
||||||
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
|
|
||||||
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
|
||||||
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
|
||||||
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
|
||||||
|
|
||||||
-- NOTE: Some terminals have colliding keymaps or are not able to send distinct keycodes
|
|
||||||
vim.keymap.set("n", "<C-S-h>", "<C-w>H", { desc = "Move window to the left" })
|
|
||||||
vim.keymap.set("n", "<C-S-l>", "<C-w>L", { desc = "Move window to the right" })
|
|
||||||
vim.keymap.set("n", "<C-S-j>", "<C-w>J", { desc = "Move window to the lower" })
|
|
||||||
vim.keymap.set("n", "<C-S-k>", "<C-w>K", { desc = "Move window to the upper" })
|
|
||||||
|
|
||||||
-- [[ Basic Autocommands ]]
|
|
||||||
vim.api.nvim_create_autocmd('TextYankPost', {
|
|
||||||
desc = 'Highlight when yanking (copying) text',
|
|
||||||
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
|
|
||||||
callback = function()
|
|
||||||
vim.hl.on_yank()
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
-- [[scripts]]
|
|
||||||
-- Bootstrap lazy.nvim
|
|
||||||
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
|
||||||
if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|
||||||
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
|
|
||||||
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
|
|
||||||
if vim.v.shell_error ~= 0 then
|
|
||||||
vim.api.nvim_echo({
|
|
||||||
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
|
|
||||||
{ out, "WarningMsg" },
|
|
||||||
{ "\nPress any key to exit..." },
|
|
||||||
}, true, {})
|
|
||||||
vim.fn.getchar()
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
vim.opt.rtp:prepend(lazypath)
|
|
||||||
|
|
||||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
|
||||||
-- loading lazy.nvim so that mappings are correct.
|
|
||||||
-- This is also a good place to setup other settings (vim.opt)
|
|
||||||
vim.g.mapleader = " "
|
|
||||||
vim.g.maplocalleader = "\\"
|
|
||||||
|
|
||||||
-- Setup lazy.nvim
|
|
||||||
require("lazy").setup({
|
require("lazy").setup({
|
||||||
spec = {
|
spec = {
|
||||||
-- import your plugins
|
-- execute all files is /lua/plugins -- this is where I put plugins with more complex setups
|
||||||
{ import = "plugins" },
|
{ import = "plugins" },
|
||||||
|
-- import the following list of plugins -- this is where i put plugins with minial settings
|
||||||
|
{
|
||||||
|
"karb94/neoscroll.nvim", --Smooth Scrolling
|
||||||
|
-- 'paretje/nvim-man', -- man page syntax highlighting
|
||||||
|
'fei6409/log-highlight.nvim', -- generic log syntax highlighting
|
||||||
|
'stevearc/conform.nvim', --auto formats certain text
|
||||||
|
'tpope/vim-commentary', -- commenting lines with shortcut
|
||||||
|
'vigoux/ltex-ls.nvim', -- grammer checking
|
||||||
|
-- 'vimpostor/vim-tpipeline', -- integrate with tmux status-line
|
||||||
|
'kshenoy/vim-signature', -- tag lines
|
||||||
|
'mg979/vim-visual-multi', -- work on multiple lines at once
|
||||||
|
'obsidian-nvim/obsidian.nvim', -- Obsidian lsp plugin
|
||||||
|
'0xm4n/resize.nvim', -- adds commands to resize panes
|
||||||
|
'nvim-tree/nvim-web-devicons', -- nerdfont!
|
||||||
|
'TamaMcGlinn/vim-termhere', --simple terminal QOL
|
||||||
|
'smjonas/inc-rename.nvim', --lsp plugin for renaming variable
|
||||||
|
'basola21/PDFview', -- rendering pdfs in nvim
|
||||||
|
'rcarriga/nvim-notify', -- notification manager
|
||||||
|
{ "m4xshen/hardtime.nvim", lazy = false, dependencies = { "MunifTanjim/nui.nvim" }}, --annoying
|
||||||
|
{ "nvzone/typr", dependencies = "nvzone/volt", cmd = { "Typr", "TyprStats" }, }, --typing practice
|
||||||
|
{ 'nvim-telescope/telescope.nvim', tag = 'v0.2.0', dependencies = { 'nvim-lua/plenary.nvim', 'BurntSushi/ripgrep', 'sharkdp/fd' } }, -- fuzyfinding over lists
|
||||||
|
{ 'norcalli/nvim-colorizer.lua', config = function() require('colorizer').setup{"*"} end,}, -- preview colors
|
||||||
|
{ 'NMAC427/guess-indent.nvim', config = function() require('guess-indent').setup {} end,}, -- Detect tabstop and shiftwidth automatically
|
||||||
|
{ 'edluffy/hologram.nvim', auto_display = true,}, --image viewer
|
||||||
|
{ "denialofsandwich/sudo.nvim", dependencies = { "MunifTanjim/nui.nvim", },config = true, }, --write restricted files without restart
|
||||||
|
{ 'akinsho/toggleterm.nvim', version = "*", config = true}, -- terminal toggling and commands
|
||||||
|
{ 'nvim-java/nvim-java', config = function() require('java').setup() vim.lsp.enable('jdtls') end, }, --java QOL
|
||||||
|
-- disable matugen if not using noctalia shell
|
||||||
|
{ 'RRethy/base16-nvim', config = function() require('matugen').setup() end,}, --colorshceme for noctalia integration
|
||||||
|
|
||||||
|
{ "lervag/vimtex", lazy = false, init = function() vim.g.vimtex_view_method = "zathura" end }, -- for latex editing
|
||||||
|
{ 'windwp/nvim-autopairs', event = "InsertEnter", config = true },
|
||||||
|
{ "folke/ts-comments.nvim", event = "VeryLazy", }, -- qol for commenting
|
||||||
|
{ "marcinjahn/gemini-cli.nvim", cmd = "Gemini", dependencies = { "folke/snacks.nvim", }, config = true, },
|
||||||
|
{ "cenk1cenk2/jq.nvim", dependencies = { "nvim-lua/plenary.nvim", "MunifTanjim/nui.nvim", "grapp-dev/nui-components.nvim", },
|
||||||
|
}
|
||||||
|
},
|
||||||
},
|
},
|
||||||
-- Configure any other settings here. See the documentation for more details.
|
-- Configure any other settings here. See the documentation for more details.
|
||||||
-- colorscheme that will be used when installing plugins.
|
-- colorscheme that will be used when installing plugins before loaded the matugen plugin for desktop colorscheme.
|
||||||
install = { colorscheme = { "retrobox" } },
|
install = { colorscheme = { "miniautumn" } },
|
||||||
-- automatically check for plugin updates
|
-- automatically check for plugin updates
|
||||||
checker = { enabled = true },
|
checker = { enabled = false },
|
||||||
},
|
|
||||||
{
|
|
||||||
ui = {
|
|
||||||
-- If you are using a Nerd Font: set icons to an empty table which will use the
|
|
||||||
-- default lazy.nvim defined Nerd Font icons, otherwise define a unicode icons table
|
|
||||||
icons = vim.g.have_nerd_font and {} or {
|
|
||||||
cmd = '⌘',
|
|
||||||
config = '🛠',
|
|
||||||
event = '📅',
|
|
||||||
ft = '📂',
|
|
||||||
init = '⚙',
|
|
||||||
keys = '🗝',
|
|
||||||
plugin = '🔌',
|
|
||||||
runtime = '💻',
|
|
||||||
require = '🌙',
|
|
||||||
source = '📄',
|
|
||||||
start = '🚀',
|
|
||||||
task = '📌',
|
|
||||||
lazy = '💤 ',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
})
|
})
|
||||||
|
-- sync nvim colorscheme with noctalia
|
||||||
|
local theme_ok, matugen = pcall(require, "matugen")
|
||||||
|
if theme_ok then
|
||||||
|
matugen.setup()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- load lsp and bufferline plugins
|
||||||
|
require("config.lsp")
|
||||||
|
-- render bufferline
|
||||||
|
require("bufferline").setup{}
|
||||||
|
-- optimize keypresses
|
||||||
|
-- require("hardtime").setup()
|
||||||
|
--fix notifications
|
||||||
|
vim.notify = require("notify")
|
||||||
|
-- jq setup
|
||||||
|
require("jq").setup()
|
||||||
|
-- require("jq").run({
|
||||||
|
-- --- you can pass additional options to configure the current instance
|
||||||
|
-- -- if you want to toggle from the memory
|
||||||
|
-- toggle = true,
|
||||||
|
-- -- commands for the instance else it will use the default
|
||||||
|
-- -- the default command would be the first one in the table
|
||||||
|
-- commands = {
|
||||||
|
-- {
|
||||||
|
-- -- command to be run
|
||||||
|
-- command = "jq",
|
||||||
|
-- -- filetype of the output
|
||||||
|
-- filetype = "json",
|
||||||
|
-- -- hidden arguments that will not be shown in the ui
|
||||||
|
-- arguments = "-r"
|
||||||
|
-- },
|
||||||
|
-- },
|
||||||
|
-- -- arguments to start with in the ui
|
||||||
|
-- arguments = "",
|
||||||
|
-- -- query to start with, if not provided it will use the default
|
||||||
|
-- query = ".",
|
||||||
|
-- })
|
||||||
|
-- -- bind undotree
|
||||||
|
-- -- TODO fix the require file not found when in keybinds.lua
|
||||||
|
-- vim.cmd("packadd nvim.undotree")
|
||||||
|
-- vim.keymap.set("n", "<leader>u", require("undotree").open) -- undotree
|
||||||
|
|
||||||
|
|||||||
63
lazy-lock.json
Normal file
63
lazy-lock.json
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
{
|
||||||
|
"PDFview": { "branch": "main", "commit": "972dfcce5c0de578865649940f44bf57a700498d" },
|
||||||
|
"base16-nvim": { "branch": "master", "commit": "23e5128eb5f629c29532c24a1e733cbe019f05bb" },
|
||||||
|
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
|
||||||
|
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||||
|
"conform.nvim": { "branch": "master", "commit": "dca1a190aa85f9065979ef35802fb77131911106" },
|
||||||
|
"dashboard-nvim": { "branch": "master", "commit": "f787e3462c2ee2b6117b17c1aa4ddf66cb6f57fe" },
|
||||||
|
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
|
||||||
|
"fd": { "branch": "master", "commit": "7f1b1471d5e3f88087eaad77885dc70968750bb3" },
|
||||||
|
"fzf-lua": { "branch": "main", "commit": "33fe4b6f0c817c4d99a7baeea82c4d17e57efd64" },
|
||||||
|
"gemini-cli.nvim": { "branch": "main", "commit": "c9fd62adda823628f5131a939d9c56ef7a898600" },
|
||||||
|
"gitsigns.nvim": { "branch": "main", "commit": "dd3f588bacbeb041be6facf1742e42097f62165d" },
|
||||||
|
"guess-indent.nvim": { "branch": "main", "commit": "84a4987ff36798c2fc1169cbaff67960aed9776f" },
|
||||||
|
"hardtime.nvim": { "branch": "main", "commit": "b4e431934af1fe224a3a801f632c008278cb7628" },
|
||||||
|
"hex.nvim": { "branch": "master", "commit": "b46e63356a69e8d6f046c38a9708d55d17f15038" },
|
||||||
|
"hologram.nvim": { "branch": "main", "commit": "f5194f71ec1578d91b2e3119ff08e574e2eab542" },
|
||||||
|
"inc-rename.nvim": { "branch": "main", "commit": "0074b551a17338ccdcd299bd86687cc651bcb33d" },
|
||||||
|
"jq.nvim": { "branch": "main", "commit": "70e12681b1026ba7c06c691fd815eed0e2244b81" },
|
||||||
|
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
|
||||||
|
"log-highlight.nvim": { "branch": "main", "commit": "b2e00cfd41ca94338265a595f3f3f423d9f9322e" },
|
||||||
|
"ltex-ls.nvim": { "branch": "main", "commit": "968eac261279d88d7f1ed556aa2dbc535a7489fe" },
|
||||||
|
"lualine.nvim": { "branch": "master", "commit": "131a558e13f9f28b15cd235557150ccb23f89286" },
|
||||||
|
"mason-lspconfig.nvim": { "branch": "main", "commit": "51feb0ada33d18f3c5c71ffb46005dbf8b33bef4" },
|
||||||
|
"mason.nvim": { "branch": "main", "commit": "e54f5bf5f12c560da31c17eee5b3e1bd369f3ff9" },
|
||||||
|
"mini.nvim": { "branch": "main", "commit": "199b3344d4c0dab13e45483834ce11bb7744fa3a" },
|
||||||
|
"mini.pick": { "branch": "main", "commit": "437d44eb57312f23e6b931704694fc294922cd88" },
|
||||||
|
"neogit": { "branch": "master", "commit": "395ac481e197784e410b59b987fadaf9e7481df1" },
|
||||||
|
"neoscroll.nvim": { "branch": "master", "commit": "c8d29979cb0cb3a2437a8e0ae683fd82f340d3b8" },
|
||||||
|
"nui-components.nvim": { "branch": "main", "commit": "1654dd709f13874089eefc80d82e0eb667f7fdfb" },
|
||||||
|
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||||
|
"nvim-autopairs": { "branch": "master", "commit": "7b9923abad60b903ece7c52940e1321d39eccc79" },
|
||||||
|
"nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" },
|
||||||
|
"nvim-dap": { "branch": "master", "commit": "45a69eba683a2c448dd9ecfc4de89511f0646b5f" },
|
||||||
|
"nvim-java": { "branch": "main", "commit": "602a5f7fa92f9c1d425a2159133ff9de86842f0a" },
|
||||||
|
"nvim-lspconfig": { "branch": "master", "commit": "451d4ef9abd4f0f08e379ef0d55d1c391b6125a7" },
|
||||||
|
"nvim-man": { "branch": "master", "commit": "7fe6b3b78c71c9ef834c49e3dcbd955f7ed5c6cb" },
|
||||||
|
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
|
||||||
|
"nvim-tree.lua": { "branch": "master", "commit": "f9bfc0059eca24546b69a7006110463da4808f8f" },
|
||||||
|
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
|
||||||
|
"nvim-web-devicons": { "branch": "master", "commit": "2795c26c916bb3c57dde308b82be51971fa92747" },
|
||||||
|
"obsidian.nvim": { "branch": "main", "commit": "ed6f386abe83e4dafa9afecf50cd9d9fff072a07" },
|
||||||
|
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
|
||||||
|
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
|
||||||
|
"render-markdown.nvim": { "branch": "main", "commit": "629eb9533ec989d9d5c6cab8f3ad5372422c24e0" },
|
||||||
|
"resize.nvim": { "branch": "main", "commit": "0b8943ef2ce54e65b9e56974e94dee593b28e7b5" },
|
||||||
|
"ripgrep": { "branch": "master", "commit": "4519153e5e461527f4bca45b042fff45c4ec6fb9" },
|
||||||
|
"snacks.nvim": { "branch": "main", "commit": "ad9ede6a9cddf16cedbd31b8932d6dcdee9b716e" },
|
||||||
|
"spring-boot.nvim": { "branch": "main", "commit": "218c0c26c14d99feca778e4d13f5ec3e8b1b60f0" },
|
||||||
|
"sudo.nvim": { "branch": "main", "commit": "10c211716f0f0149ea91732bc12338ade76d4af8" },
|
||||||
|
"telescope.nvim": { "branch": "master", "commit": "e69b434b968a33815e2f02a5c7bd7b8dd4c7d4b2" },
|
||||||
|
"themery.nvim": { "branch": "main", "commit": "bfa58f4b279d21cb515b28023e1b68ec908584b2" },
|
||||||
|
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
||||||
|
"trouble.nvim": { "branch": "main", "commit": "bd67efe408d4816e25e8491cc5ad4088e708a69a" },
|
||||||
|
"ts-comments.nvim": { "branch": "main", "commit": "123a9fb12e7229342f807ec9e6de478b1102b041" },
|
||||||
|
"typr": { "branch": "main", "commit": "584e4ef34dea25a4035627794322f315b22d1253" },
|
||||||
|
"vim-commentary": { "branch": "master", "commit": "64a654ef4a20db1727938338310209b6a63f60c9" },
|
||||||
|
"vim-signature": { "branch": "master", "commit": "6bc3dd1294a22e897f0dcf8dd72b85f350e306bc" },
|
||||||
|
"vim-termhere": { "branch": "main", "commit": "b66d429dd48b74802f09fd059bc499c253372a1c" },
|
||||||
|
"vim-visual-multi": { "branch": "master", "commit": "a6975e7c1ee157615bbc80fc25e4392f71c344d4" },
|
||||||
|
"vimtex": { "branch": "master", "commit": "97e11bd4f56d46a87f8593d6ccb27820e19c4ab0" },
|
||||||
|
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
|
||||||
|
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
|
||||||
|
}
|
||||||
46
lua/autocommands.lua
Normal file
46
lua/autocommands.lua
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
-- [[dynamically change kitty window opacity when opening and closing]]
|
||||||
|
-- Define the target opacities
|
||||||
|
local nvim_opacity = "0.85"
|
||||||
|
local default_opacity = "0.6"
|
||||||
|
-- Function to talk to Kitty
|
||||||
|
local function set_kitty_opacity(opacity)
|
||||||
|
-- print("Attempting to set opacity to: " .. opacity)
|
||||||
|
os.execute("kitty @ set-background-opacity " .. opacity)
|
||||||
|
end
|
||||||
|
-- Set up the autocommands
|
||||||
|
local kitty_group = vim.api.nvim_create_augroup("KittyOpacity", { clear = true })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("VimEnter", {
|
||||||
|
group = kitty_group,
|
||||||
|
callback = function()
|
||||||
|
set_kitty_opacity(nvim_opacity)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("VimLeave", {
|
||||||
|
group = kitty_group,
|
||||||
|
callback = function()
|
||||||
|
set_kitty_opacity(default_opacity)
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
vim.api.nvim_create_autocmd('TextYankPost', {
|
||||||
|
desc = 'Highlight when yanking (copying) text',
|
||||||
|
group = vim.api.nvim_create_augroup('kickstart-highlight-yank', { clear = true }),
|
||||||
|
callback = function()
|
||||||
|
vim.hl.on_yank()
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
|
-- Create an augroup to manage our spellcheck autocommands
|
||||||
|
local spell_group = vim.api.nvim_create_augroup("EnableSpellcheck", { clear = true })
|
||||||
|
|
||||||
|
vim.api.nvim_create_autocmd("FileType", {
|
||||||
|
group = spell_group,
|
||||||
|
-- List the filetypes you want to enable spellcheck for
|
||||||
|
pattern = { "markdown", "text", "gitcommit", "latex", "plaintex" },
|
||||||
|
callback = function()
|
||||||
|
vim.opt_local.spell = true
|
||||||
|
vim.opt_local.spelllang = "en_us" -- Optional: set your preferred language
|
||||||
|
vim.opt_local.spelloptions = "camel"
|
||||||
|
end,
|
||||||
|
})
|
||||||
@@ -15,21 +15,3 @@ if not (vim.uv or vim.loop).fs_stat(lazypath) then
|
|||||||
end
|
end
|
||||||
vim.opt.rtp:prepend(lazypath)
|
vim.opt.rtp:prepend(lazypath)
|
||||||
|
|
||||||
-- Make sure to setup `mapleader` and `maplocalleader` before
|
|
||||||
-- loading lazy.nvim so that mappings are correct.
|
|
||||||
-- This is also a good place to setup other settings (vim.opt)
|
|
||||||
-- vim.g.mapleader = " "
|
|
||||||
-- vim.g.maplocalleader = "\\"
|
|
||||||
|
|
||||||
-- Setup lazy.nvim
|
|
||||||
require("lazy").setup({
|
|
||||||
spec = {
|
|
||||||
-- import your plugins
|
|
||||||
{ import = "plugins" },
|
|
||||||
},
|
|
||||||
-- Configure any other settings here. See the documentation for more details.
|
|
||||||
-- colorscheme that will be used when installing plugins.
|
|
||||||
install = { colorscheme = { "habamax" } },
|
|
||||||
-- automatically check for plugin updates
|
|
||||||
checker = { enabled = true },
|
|
||||||
})
|
|
||||||
|
|||||||
47
lua/config/lsp.lua
Normal file
47
lua/config/lsp.lua
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
-- lsp config
|
||||||
|
require('lspconfig')
|
||||||
|
local lsp_servers = {
|
||||||
|
'clangd',
|
||||||
|
'pyright',
|
||||||
|
'lua_ls',
|
||||||
|
}
|
||||||
|
for _, server in ipairs(lsp_servers) do
|
||||||
|
local config = {}
|
||||||
|
|
||||||
|
-- Special settings for Lua
|
||||||
|
if server == 'lua_ls' then
|
||||||
|
config.settings = {
|
||||||
|
Lua = {
|
||||||
|
diagnostics = {
|
||||||
|
-- Tell the language server that 'vim' is a global
|
||||||
|
globals = { 'vim' },
|
||||||
|
},
|
||||||
|
workspace = {
|
||||||
|
-- Make the server aware of Neovim runtime files
|
||||||
|
library = vim.api.nvim_get_runtime_file("", true),
|
||||||
|
checkThirdParty = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Apply the config and enable
|
||||||
|
vim.lsp.config(server, config)
|
||||||
|
vim.lsp.enable(server)
|
||||||
|
end
|
||||||
|
-- highlight error messages
|
||||||
|
vim.diagnostic.config({
|
||||||
|
virtual_text = {
|
||||||
|
prefix = '■',
|
||||||
|
spacing = 4,
|
||||||
|
},
|
||||||
|
-- Show signs in the gutter (left side)
|
||||||
|
signs = true,
|
||||||
|
-- Underline the actual code that has the error
|
||||||
|
underline = true,
|
||||||
|
-- Don't update diagnostics while typing (keeps it less distracting)
|
||||||
|
update_in_insert = true,
|
||||||
|
-- Better looking border for float windows
|
||||||
|
float = { border = "rounded" },
|
||||||
|
})
|
||||||
|
|
||||||
0
lua/config/markdown.lua
Normal file
0
lua/config/markdown.lua
Normal file
82
lua/keybinds.lua
Normal file
82
lua/keybinds.lua
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
--/lua/keybinds.lua
|
||||||
|
-- This file defines all of the kybinds for nvim.
|
||||||
|
-- vim.keymap.set('mode','<modifier>key','action', {desc = 'description'})
|
||||||
|
|
||||||
|
-- move betwwen buffer easier
|
||||||
|
vim.keymap.set('n', '<Tab>', ':bnext<CR>')
|
||||||
|
vim.keymap.set('n', '<S-Tab>', ':bprev<CR>')
|
||||||
|
vim.keymap.set('n', '<leader>x', ':bdelete<CR>')
|
||||||
|
|
||||||
|
-- resizing pains with resize.lua shortcut
|
||||||
|
vim.keymap.set('n', '<M-Left>', "<cmd>lua require('resize').ResizeLeft()<CR>")
|
||||||
|
vim.keymap.set('n', '<M-Right>', "<cmd>lua require('resize').ResizeRight()<CR>")
|
||||||
|
vim.keymap.set('n', '<M-Up>', "<cmd>lua require('resize').ResizeUp()<CR>")
|
||||||
|
vim.keymap.set('n', '<M-Down>', "<cmd>lua require('resize').ResizeDown()<CR>")
|
||||||
|
|
||||||
|
-- termunal interface shortcuts
|
||||||
|
vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>')
|
||||||
|
-- Diagnostic keymaps
|
||||||
|
vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' })
|
||||||
|
vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' })
|
||||||
|
-- vim.keymap.set("n", "<leader>a", ":IncRename ", {desc = 'ren[A]me variable under cursor'})
|
||||||
|
vim .keymap.set('n','<leader>r','<cmd>TermExec cmd="clear && make"<CR>', { desc = '[r]un make in terminal' })
|
||||||
|
vim .keymap .set('n','<leader>n', '<cmd>ToggleTerm direction=vertical name=compile size=70<CR>', { desc = 'open a [n]ew terminal' })
|
||||||
|
vim.keymap.set('n','<leader>t', '<cmd>ToggleTerm<CR>', {desc = '[T]oggle all terminals'})
|
||||||
|
vim.keymap.set("n", "<leader>l", function()
|
||||||
|
-- Get terminal ID 1
|
||||||
|
-- Save position and buffer context
|
||||||
|
local term = require("toggleterm.terminal").get(1)
|
||||||
|
if term then
|
||||||
|
local original_window = vim.api.nvim_get_current_win()
|
||||||
|
local saved_view = vim.fn.winsaveview()
|
||||||
|
-- Using \r (carriage return) or \n\n often bypasses shell interceptors
|
||||||
|
-- term:send("clear\r")
|
||||||
|
term:send("test_dev.sh\r")
|
||||||
|
vim.api.nvim_set_current_win(original_window)
|
||||||
|
vim.fn.winrestview(saved_view)
|
||||||
|
else
|
||||||
|
vim.notify("Terminal 1 is not open yet!", vim.log.levels.WARN)
|
||||||
|
end
|
||||||
|
-- Return logic
|
||||||
|
end, { desc = "Run [L]ast command in terminal 1" })
|
||||||
|
|
||||||
|
-- TIP: Disable arrow keys in normal mode
|
||||||
|
vim.keymap.set('n', '<left>', '<cmd>echo "Use h to move!!"<CR>')
|
||||||
|
vim.keymap.set('n', '<right>', '<cmd>echo "Use l to move!!"<CR>')
|
||||||
|
vim.keymap.set('n', '<up>', '<cmd>echo "Use k to move!!"<CR>')
|
||||||
|
vim.keymap.set('n', '<down>', '<cmd>echo "Use j to move!!"<CR>')
|
||||||
|
|
||||||
|
-- Keybinds to make split navigation easier.
|
||||||
|
-- Use CTRL+<hjkl> to switch between windows
|
||||||
|
--
|
||||||
|
-- See `:help wincmd` for a list of all window commands
|
||||||
|
vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' })
|
||||||
|
vim.keymap.set('n', '<C-l>', '<C-w><C-l>', { desc = 'Move focus to the right window' })
|
||||||
|
vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' })
|
||||||
|
vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' })
|
||||||
|
|
||||||
|
-- NOTE: Some terminals have colliding keymaps or are not able to send distinct keycodes
|
||||||
|
vim.keymap.set("n", "<C-S-h>", "<C-w>H", { desc = "Move window to the left" })
|
||||||
|
vim.keymap.set("n", "<C-S-l>", "<C-w>L", { desc = "Move window to the right" })
|
||||||
|
vim.keymap.set("n", "<C-S-j>", "<C-w>J", { desc = "Move window to the lower" })
|
||||||
|
vim.keymap.set("n", "<C-S-k>", "<C-w>K", { desc = "Move window to the upper" })
|
||||||
|
|
||||||
|
vim.keymap.set("n", "<leader>e", "<cmd>NvimTreeToggle<CR>", {desc = 'open [E]xplorer'})
|
||||||
|
|
||||||
|
-- gemini CLI bindings
|
||||||
|
vim.keymap.set('n', "<leader>a/", "<cmd>Gemini toggle<cr>", { desc = "Toggle Gemini CLI" })
|
||||||
|
vim.keymap.set('n', "<leader>aa", "<cmd>Gemini toggle<cr>", { desc = "Toggle Gemini CLI" })
|
||||||
|
vim.keymap.set('n', "<leader>aq", "<cmd>Gemini ask<cr>", { desc = "Ask Gemini", })
|
||||||
|
vim.keymap.set('n', "<leader>af", "<cmd>Gemini add_file<cr>", { desc = "Add File"} )
|
||||||
|
|
||||||
|
-- spellcheck keybind to toggle on current buffer
|
||||||
|
vim.keymap.set('n', "<leader>ze", "<cmd>setlocal spell<cr>", { desc = "enable spellecheck on buffer" })
|
||||||
|
vim.keymap.set('n', "<leader>zd", "<cmd>setlocal nospell<cr>", { desc = "Disable spellecheck on buffer" })
|
||||||
|
|
||||||
|
--basic qol
|
||||||
|
-- Bitburner Sync Keybinds
|
||||||
|
vim.keymap.set('n', '<leader>bp', '<cmd>BBPull<CR>', { desc = '[B]itburner [P]ull' })
|
||||||
|
vim.keymap.set('n', '<leader>bu', '<cmd>BBPush<CR>', { desc = '[B]itburner [U]pload/Push' })
|
||||||
|
vim.keymap.set('n', '<leader>br', '<cmd>BBRam<CR>', { desc = '[B]itburner [R]am check' })
|
||||||
|
--Hex Editing
|
||||||
|
vim.keymap.set('n', '<leader>hh', '<cmd>Hex<CR>', { desc = 'open [H]ex view of a file' })
|
||||||
37
lua/matugen-template.lua
Normal file
37
lua/matugen-template.lua
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
function M.setup()
|
||||||
|
require('base16-colorscheme').setup {
|
||||||
|
-- Background tones
|
||||||
|
base00 = '{{colors.surface.default.hex}}', -- Default Background
|
||||||
|
base01 = '{{colors.surface_container.default.hex}}', -- Lighter Background (status bars)
|
||||||
|
base02 = '{{colors.surface_container_high.default.hex}}', -- Selection Background
|
||||||
|
base03 = '{{colors.outline.default.hex}}', -- Comments, Invisibles
|
||||||
|
-- Foreground tones
|
||||||
|
base04 = '{{colors.on_surface_variant.default.hex}}', -- Dark Foreground (status bars)
|
||||||
|
base05 = '{{colors.on_surface.default.hex}}', -- Default Foreground
|
||||||
|
base06 = '{{colors.on_surface.default.hex}}', -- Light Foreground
|
||||||
|
base07 = '{{colors.on_background.default.hex}}', -- Lightest Foreground
|
||||||
|
-- Accent colors
|
||||||
|
base08 = '{{colors.error.default.hex}}', -- Variables, XML Tags, Errors
|
||||||
|
base09 = '{{colors.tertiary.default.hex}}', -- Integers, Constants
|
||||||
|
base0A = '{{colors.secondary.default.hex}}', -- Classes, Search Background
|
||||||
|
base0B = '{{colors.primary.default.hex}}', -- Strings, Diff Inserted
|
||||||
|
base0C = '{{colors.tertiary_fixed_dim.default.hex}}', -- Regex, Escape Chars
|
||||||
|
base0D = '{{colors.primary_fixed_dim.default.hex}}', -- Functions, Methods
|
||||||
|
base0E = '{{colors.secondary_fixed_dim.default.hex}}', -- Keywords, Storage
|
||||||
|
base0F = '{{colors.error_container.default.hex}}', -- Deprecated, Embedded Tags
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Register a signal handler for SIGUSR1 (matugen updates)
|
||||||
|
local signal = vim.uv.new_signal()
|
||||||
|
signal:start(
|
||||||
|
'sigusr1',
|
||||||
|
vim.schedule_wrap(function()
|
||||||
|
package.loaded['matugen'] = nil
|
||||||
|
require('matugen').setup()
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
|
||||||
|
return M
|
||||||
37
lua/matugen.lua
Normal file
37
lua/matugen.lua
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
local M = {}
|
||||||
|
|
||||||
|
function M.setup()
|
||||||
|
require('base16-colorscheme').setup {
|
||||||
|
-- Background tones
|
||||||
|
base00 = '#121316', -- Default Background
|
||||||
|
base01 = '#1e2022', -- Lighter Background (status bars)
|
||||||
|
base02 = '#282a2d', -- Selection Background
|
||||||
|
base03 = '#8d9199', -- Comments, Invisibles
|
||||||
|
-- Foreground tones
|
||||||
|
base04 = '#c3c6cf', -- Dark Foreground (status bars)
|
||||||
|
base05 = '#e2e2e6', -- Default Foreground
|
||||||
|
base06 = '#e2e2e6', -- Light Foreground
|
||||||
|
base07 = '#e2e2e6', -- Lightest Foreground
|
||||||
|
-- Accent colors
|
||||||
|
base08 = '#ffb4ab', -- Variables, XML Tags, Errors
|
||||||
|
base09 = '#d7bee4', -- Integers, Constants
|
||||||
|
base0A = '#bbc7db', -- Classes, Search Background
|
||||||
|
base0B = '#9fcaff', -- Strings, Diff Inserted
|
||||||
|
base0C = '#d7bee4', -- Regex, Escape Chars
|
||||||
|
base0D = '#9fcaff', -- Functions, Methods
|
||||||
|
base0E = '#bbc7db', -- Keywords, Storage
|
||||||
|
base0F = '#93000a', -- Deprecated, Embedded Tags
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Register a signal handler for SIGUSR1 (matugen updates)
|
||||||
|
local signal = vim.uv.new_signal()
|
||||||
|
signal:start(
|
||||||
|
'sigusr1',
|
||||||
|
vim.schedule_wrap(function()
|
||||||
|
package.loaded['matugen'] = nil
|
||||||
|
require('matugen').setup()
|
||||||
|
end)
|
||||||
|
)
|
||||||
|
|
||||||
|
return M
|
||||||
62
lua/options.lua
Normal file
62
lua/options.lua
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
-- /lua/options.lua
|
||||||
|
-- This file is where i set all of the options and settings for nvim
|
||||||
|
|
||||||
|
|
||||||
|
-- [[setup]]
|
||||||
|
vim.g.mapleader = ' '
|
||||||
|
vim.g.maplocalleader = ' '
|
||||||
|
vim.g.have_nerd_font = true
|
||||||
|
|
||||||
|
vim.g.loaded_netrw = 1
|
||||||
|
vim.g.loaded_netrwPlugin = 1
|
||||||
|
|
||||||
|
-- [[Setting options]]
|
||||||
|
vim.o.spell = false -- turn on spellcheck
|
||||||
|
vim.o.spelllang = 'en_us' -- set English as spellcheck language
|
||||||
|
vim.opt.spellcapcheck = ""
|
||||||
|
vim.o.number = true -- Make line numbers default
|
||||||
|
vim.o.relativenumber = true
|
||||||
|
vim.o.showmode = false
|
||||||
|
-- Sync clipboard between OS and Neovim.
|
||||||
|
-- Schedule the setting after `UiEnter` because it can increase startup-time.
|
||||||
|
-- Remove this option if you want your OS clipboard to remain independent.
|
||||||
|
-- See `:help 'clipboard'`
|
||||||
|
vim.schedule(function()
|
||||||
|
vim.o.clipboard = 'unnamedplus'
|
||||||
|
end)
|
||||||
|
-- Enable break indent
|
||||||
|
-- Save undo history
|
||||||
|
vim.o.undofile = true
|
||||||
|
-- Case-insensitive searching UNLESS \C or one or more capital letters in the search term
|
||||||
|
vim.o.ignorecase = true
|
||||||
|
vim.o.smartcase = true
|
||||||
|
-- Keep signcolumn on by default
|
||||||
|
vim.o.signcolumn = 'yes'
|
||||||
|
-- Decrease update time
|
||||||
|
vim.o.updatetime = 250
|
||||||
|
-- Decrease mapped sequence wait time
|
||||||
|
vim.o.timeoutlen = 300
|
||||||
|
-- Configure how new splits should be opened
|
||||||
|
-- vim.o.splitright = false
|
||||||
|
-- vim.o.splitbelow = true
|
||||||
|
vim.o.list = true
|
||||||
|
vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' }
|
||||||
|
-- Preview substitutions live, as you type!
|
||||||
|
vim.o.inccommand = 'split'
|
||||||
|
-- Show which line your cursor is on
|
||||||
|
vim.o.cursorline = true
|
||||||
|
-- Minimal number of screen lines to keep above and below the cursor.
|
||||||
|
vim.o.scrolloff = 25
|
||||||
|
-- if performing an operation that would fail due to unsaved changes in the buffer (like `:q`),
|
||||||
|
-- instead raise a dialog asking if you wish to save the current file(s)
|
||||||
|
-- See `:help 'confirm'`
|
||||||
|
vim.o.confirm = true
|
||||||
|
|
||||||
|
|
||||||
|
vim.opt.termguicolors = true -- required for colorizer
|
||||||
|
|
||||||
|
--set background color on entering and leaving nvim
|
||||||
|
require('autocommands')
|
||||||
|
vim.env.PATH = vim.fn.stdpath("data") .. "/mason/bin" .. ":" .. vim.env.PATH
|
||||||
|
|
||||||
|
|
||||||
44
lua/plugins/dashboard.lua
Normal file
44
lua/plugins/dashboard.lua
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
return {
|
||||||
|
'nvimdev/dashboard-nvim',
|
||||||
|
event = 'VimEnter',
|
||||||
|
lazy = false,
|
||||||
|
config = function()
|
||||||
|
require('dashboard').setup(
|
||||||
|
{
|
||||||
|
theme = 'hyper',
|
||||||
|
config = {
|
||||||
|
week_header = {
|
||||||
|
enable = true,
|
||||||
|
},
|
||||||
|
project = {
|
||||||
|
enable = false,
|
||||||
|
},
|
||||||
|
shortcut = {
|
||||||
|
{ desc = ' Update', group = '@property', action = 'Lazy update', key = 'u' },
|
||||||
|
{
|
||||||
|
icon = ' ',
|
||||||
|
icon_hl = '@variable',
|
||||||
|
desc = 'Files',
|
||||||
|
group = 'Label',
|
||||||
|
action = 'Telescope find_files',
|
||||||
|
key = 'f',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
desc = ' file manager',
|
||||||
|
group = 'Label',
|
||||||
|
action = 'NvimTreeOpen',
|
||||||
|
key = 'e',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon = '',
|
||||||
|
desc = ' Quit',
|
||||||
|
group = 'Label',
|
||||||
|
action = 'quitall',
|
||||||
|
key = 'q',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
dependencies = { {'nvim-tree/nvim-web-devicons'}}
|
||||||
|
}
|
||||||
17
lua/plugins/games.lua
Normal file
17
lua/plugins/games.lua
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
return {
|
||||||
|
-- "John-Bush14/neoburner",
|
||||||
|
-- config = function()
|
||||||
|
-- require("neoburner").setup({
|
||||||
|
-- -- needed
|
||||||
|
-- filesystem = "/home/venus/code/bitburner/", -- where bitburner filesystem will be placed
|
||||||
|
-- -- optional
|
||||||
|
|
||||||
|
-- address = "ws://localhost", -- localhost
|
||||||
|
|
||||||
|
-- port = 12525,
|
||||||
|
-- servers = {"home"}, -- servers wich will be in filesystem, cannot be set to "*" because of api limitations.
|
||||||
|
-- root_server = "home", -- or nil
|
||||||
|
-- servers_folder = "servers", -- or nil
|
||||||
|
-- })
|
||||||
|
-- end
|
||||||
|
}
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
return { -- Adds git related signs to the gutter, as well as utilities for managing changes
|
|
||||||
'lewis6991/gitsigns.nvim',
|
|
||||||
opts = {
|
|
||||||
signs = {
|
|
||||||
add = { text = '+' },
|
|
||||||
change = { text = '~' },
|
|
||||||
delete = { text = '_' },
|
|
||||||
topdelete = { text = '‾' },
|
|
||||||
changedelete = { text = '~' },
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
49
lua/plugins/lazy-plugins.lua
Normal file
49
lua/plugins/lazy-plugins.lua
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
cmd = { "Trouble" },
|
||||||
|
opts = {
|
||||||
|
modes = {
|
||||||
|
lsp = {
|
||||||
|
win = { position = "right" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
|
||||||
|
{ "<leader>xX", "<cmd>Trouble diagnostics toggle filter.buf=0<cr>", desc = "Buffer Diagnostics (Trouble)" },
|
||||||
|
{ "<leader>cs", "<cmd>Trouble symbols toggle<cr>", desc = "Symbols (Trouble)" },
|
||||||
|
{ "<leader>cS", "<cmd>Trouble lsp toggle<cr>", desc = "LSP references/definitions/... (Trouble)" },
|
||||||
|
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
|
||||||
|
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
|
||||||
|
{
|
||||||
|
"[q",
|
||||||
|
function()
|
||||||
|
if require("trouble").is_open() then
|
||||||
|
require("trouble").prev({ skip_groups = true, jump = true })
|
||||||
|
else
|
||||||
|
local ok, err = pcall(vim.cmd.cprev)
|
||||||
|
if not ok then
|
||||||
|
vim.notify(err, vim.log.levels.ERROR)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
desc = "Previous Trouble/Quickfix Item",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"]q",
|
||||||
|
function()
|
||||||
|
if require("trouble").is_open() then
|
||||||
|
require("trouble").next({ skip_groups = true, jump = true })
|
||||||
|
else
|
||||||
|
local ok, err = pcall(vim.cmd.cnext)
|
||||||
|
if not ok then
|
||||||
|
vim.notify(err, vim.log.levels.ERROR)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
desc = "Next Trouble/Quickfix Item",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
@@ -1,239 +1,77 @@
|
|||||||
return {
|
return { -- adds lsp functionality and api for included languages
|
||||||
-- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins
|
{
|
||||||
-- used for completion, annotations and signatures of Neovim apis
|
"neovim/nvim-lspconfig",
|
||||||
'folke/lazydev.nvim',
|
dependencies = {
|
||||||
ft = 'lua',
|
{ "mason-org/mason.nvim", config = true }, -- The "App Store"
|
||||||
opts = {
|
{ "mason-org/mason-lspconfig.nvim", config = true }, -- The "Bridge"
|
||||||
library = {
|
{
|
||||||
-- Load luvit types when the `vim.uv` word is found
|
'saghen/blink.cmp',
|
||||||
{ path = '${3rd}/luv/library', words = { 'vim%.uv' } },
|
version = '*', -- Downloads pre-built binaries (fast!)
|
||||||
|
opts =
|
||||||
|
{
|
||||||
|
keymap = {
|
||||||
|
preset = 'none',
|
||||||
|
['<CR>'] = { 'select_next', 'fallback' },
|
||||||
|
['<S-CR>'] = { 'select_prev', 'fallback' },
|
||||||
|
['<Tab>'] = { 'accept', 'fallback' },
|
||||||
|
['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' },
|
||||||
|
},
|
||||||
|
sources = {
|
||||||
|
default = { 'lsp', 'path', 'snippets', 'buffer' },
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
-- Main LSP Configuration
|
'MeanderingProgrammer/render-markdown.nvim',
|
||||||
'neovim/nvim-lspconfig',
|
dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.nvim' }, -- if you use the mini.nvim suite
|
||||||
dependencies = {
|
---@module 'render-markdown'
|
||||||
-- Automatically install LSPs and related tools to stdpath for Neovim
|
|
||||||
-- Mason must be loaded before its dependents so we need to set it up here.
|
|
||||||
-- NOTE: `opts = {}` is the same as calling `require('mason').setup({})`
|
|
||||||
{ 'mason-org/mason.nvim', opts = {} },
|
|
||||||
'mason-org/mason-lspconfig.nvim',
|
|
||||||
'WhoIsSethDaniel/mason-tool-installer.nvim',
|
|
||||||
|
|
||||||
-- Useful status updates for LSP.
|
|
||||||
{ 'j-hui/fidget.nvim', opts = {} },
|
|
||||||
|
|
||||||
-- Allows extra capabilities provided by blink.cmp
|
|
||||||
'saghen/blink.cmp',
|
|
||||||
},
|
},
|
||||||
config = function()
|
{ -- basic tree sitter parser support
|
||||||
vim.api.nvim_create_autocmd('LspAttach', {
|
"nvim-treesitter/nvim-treesitter",
|
||||||
group = vim.api.nvim_create_augroup('kickstart-lsp-attach', { clear = true }),
|
opts = {
|
||||||
callback = function(event)
|
indent = { enable = true },
|
||||||
local map = function(keys, func, desc, mode)
|
highlight = { enable = true },
|
||||||
mode = mode or 'n'
|
folds = { enable = true },
|
||||||
vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc })
|
ensure_installed = {
|
||||||
end
|
"bash",
|
||||||
|
"c",
|
||||||
-- Rename the variable under your cursor.
|
"diff",
|
||||||
-- Most Language Servers support renaming across files, etc.
|
"html",
|
||||||
map('grn', vim.lsp.buf.rename, '[R]e[n]ame')
|
"javascript",
|
||||||
|
"jsdoc",
|
||||||
-- Execute a code action, usually your cursor needs to be on top of an error
|
"json",
|
||||||
-- or a suggestion from your LSP for this to activate.
|
"lua",
|
||||||
map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' })
|
"luadoc",
|
||||||
|
"luap",
|
||||||
-- Find references for the word under your cursor.
|
"markdown",
|
||||||
map('grr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences')
|
"markdown_inline",
|
||||||
|
"printf",
|
||||||
-- Jump to the implementation of the word under your cursor.
|
"python",
|
||||||
-- Useful when your language has ways of declaring types without an actual implementation.
|
"query",
|
||||||
map('gri', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation')
|
"regex",
|
||||||
|
"toml",
|
||||||
-- Jump to the definition of the word under your cursor.
|
"tsx",
|
||||||
-- This is where a variable was first declared, or where a function is defined, etc.
|
"typescript",
|
||||||
-- To jump back, press <C-t>.
|
"vim",
|
||||||
map('grd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition')
|
"vimdoc",
|
||||||
|
"xml",
|
||||||
-- WARN: This is not Goto Definition, this is Goto Declaration.
|
"yaml",
|
||||||
-- For example, in C this would take you to the header.
|
"zsh",
|
||||||
map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration')
|
|
||||||
|
|
||||||
-- Fuzzy find all the symbols in your current document.
|
|
||||||
-- Symbols are things like variables, functions, types, etc.
|
|
||||||
map('gO', require('telescope.builtin').lsp_document_symbols, 'Open Document Symbols')
|
|
||||||
|
|
||||||
-- Fuzzy find all the symbols in your current workspace.
|
|
||||||
-- Similar to document symbols, except searches over your entire project.
|
|
||||||
map('gW', require('telescope.builtin').lsp_dynamic_workspace_symbols, 'Open Workspace Symbols')
|
|
||||||
|
|
||||||
-- Jump to the type of the word under your cursor.
|
|
||||||
-- Useful when you're not sure what type a variable is and you want to see
|
|
||||||
-- the definition of its *type*, not where it was *defined*.
|
|
||||||
map('grt', require('telescope.builtin').lsp_type_definitions, '[G]oto [T]ype Definition')
|
|
||||||
|
|
||||||
-- This function resolves a difference between neovim nightly (version 0.11) and stable (version 0.10)
|
|
||||||
---@param client vim.lsp.Client
|
|
||||||
---@param method vim.lsp.protocol.Method
|
|
||||||
---@param bufnr? integer some lsp support methods only in specific files
|
|
||||||
---@return boolean
|
|
||||||
local function client_supports_method(client, method, bufnr)
|
|
||||||
if vim.fn.has 'nvim-0.11' == 1 then
|
|
||||||
return client:supports_method(method, bufnr)
|
|
||||||
else
|
|
||||||
return client.supports_method(method, { bufnr = bufnr })
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- The following two autocommands are used to highlight references of the
|
|
||||||
-- word under your cursor when your cursor rests there for a little while.
|
|
||||||
-- See `:help CursorHold` for information about when this is executed
|
|
||||||
--
|
|
||||||
-- When you move your cursor, the highlights will be cleared (the second autocommand).
|
|
||||||
local client = vim.lsp.get_client_by_id(event.data.client_id)
|
|
||||||
if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf) then
|
|
||||||
local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false })
|
|
||||||
vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, {
|
|
||||||
buffer = event.buf,
|
|
||||||
group = highlight_augroup,
|
|
||||||
callback = vim.lsp.buf.document_highlight,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd({ 'CursorMoved', 'CursorMovedI' }, {
|
|
||||||
buffer = event.buf,
|
|
||||||
group = highlight_augroup,
|
|
||||||
callback = vim.lsp.buf.clear_references,
|
|
||||||
})
|
|
||||||
|
|
||||||
vim.api.nvim_create_autocmd('LspDetach', {
|
|
||||||
group = vim.api.nvim_create_augroup('kickstart-lsp-detach', { clear = true }),
|
|
||||||
callback = function(event2)
|
|
||||||
vim.lsp.buf.clear_references()
|
|
||||||
vim.api.nvim_clear_autocmds { group = 'kickstart-lsp-highlight', buffer = event2.buf }
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
|
|
||||||
-- The following code creates a keymap to toggle inlay hints in your
|
|
||||||
-- code, if the language server you are using supports them
|
|
||||||
--
|
|
||||||
-- This may be unwanted, since they displace some of your code
|
|
||||||
if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf) then
|
|
||||||
map('<leader>th', function()
|
|
||||||
vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf })
|
|
||||||
end, '[T]oggle Inlay [H]ints')
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
|
|
||||||
-- Diagnostic Config
|
|
||||||
-- See :help vim.diagnostic.Opts
|
|
||||||
vim.diagnostic.config {
|
|
||||||
severity_sort = true,
|
|
||||||
float = { border = 'rounded', source = 'if_many' },
|
|
||||||
underline = { severity = vim.diagnostic.severity.ERROR },
|
|
||||||
signs = vim.g.have_nerd_font and {
|
|
||||||
text = {
|
|
||||||
[vim.diagnostic.severity.ERROR] = ' ',
|
|
||||||
[vim.diagnostic.severity.WARN] = ' ',
|
|
||||||
[vim.diagnostic.severity.INFO] = ' ',
|
|
||||||
[vim.diagnostic.severity.HINT] = ' ',
|
|
||||||
},
|
|
||||||
} or {},
|
|
||||||
virtual_text = {
|
|
||||||
source = 'if_many',
|
|
||||||
spacing = 2,
|
|
||||||
format = function(diagnostic)
|
|
||||||
local diagnostic_message = {
|
|
||||||
[vim.diagnostic.severity.ERROR] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.WARN] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.INFO] = diagnostic.message,
|
|
||||||
[vim.diagnostic.severity.HINT] = diagnostic.message,
|
|
||||||
}
|
|
||||||
return diagnostic_message[diagnostic.severity]
|
|
||||||
end,
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
-- LSP servers and clients are able to communicate to each other what features they support.
|
|
||||||
-- By default, Neovim doesn't support everything that is in the LSP specification.
|
|
||||||
-- When you add blink.cmp, luasnip, etc. Neovim now has *more* capabilities.
|
|
||||||
-- So, we create new capabilities with blink.cmp, and then broadcast that to the servers.
|
|
||||||
local capabilities = require('blink.cmp').get_lsp_capabilities()
|
|
||||||
|
|
||||||
-- Enable the following language servers
|
|
||||||
-- Feel free to add/remove any LSPs that you want here. They will automatically be installed.
|
|
||||||
--
|
|
||||||
-- Add any additional override configuration in the following tables. Available keys are:
|
|
||||||
-- - cmd (table): Override the default command used to start the server
|
|
||||||
-- - filetypes (table): Override the default list of associated filetypes for the server
|
|
||||||
-- - capabilities (table): Override fields in capabilities. Can be used to disable certain LSP features.
|
|
||||||
-- - settings (table): Override the default settings passed when initializing the server.
|
|
||||||
-- For example, to see the options for `lua_ls`, you could go to: https://luals.github.io/wiki/settings/
|
|
||||||
local servers = {
|
|
||||||
clangd = {},
|
|
||||||
-- intelephense = {},
|
|
||||||
-- gopls = {},
|
|
||||||
-- pyright = {},
|
|
||||||
-- rust_analyzer = {},
|
|
||||||
-- ... etc. See `:help lspconfig-all` for a list of all the pre-configured LSPs
|
|
||||||
--
|
|
||||||
-- Some languages (like typescript) have entire language plugins that can be useful:
|
|
||||||
-- https://github.com/pmizio/typescript-tools.nvim
|
|
||||||
--
|
|
||||||
-- But for many setups, the LSP (`ts_ls`) will work just fine
|
|
||||||
-- ts_ls = {},
|
|
||||||
--
|
|
||||||
|
|
||||||
lua_ls = {
|
|
||||||
-- cmd = { ... },
|
|
||||||
-- filetypes = { ... },
|
|
||||||
-- capabilities = {},
|
|
||||||
settings = {
|
|
||||||
Lua = {
|
|
||||||
completion = {
|
|
||||||
callSnippet = 'Replace',
|
|
||||||
},
|
},
|
||||||
-- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings
|
{ -- Adds git related signs to the gutter, as well as utilities for managing changes
|
||||||
-- diagnostics = { disable = { 'missing-fields' } },
|
'lewis6991/gitsigns.nvim',
|
||||||
|
opts = {
|
||||||
|
signs = {
|
||||||
|
add = { text = '+' },
|
||||||
|
change = { text = '~' },
|
||||||
|
delete = { text = '_' },
|
||||||
|
topdelete = { text = '‾' },
|
||||||
|
changedelete = { text = '~' },
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
}
|
||||||
-- Ensure the servers and tools above are installed
|
|
||||||
--
|
|
||||||
-- To check the current status of installed tools and/or manually install
|
|
||||||
-- other tools, you can run
|
|
||||||
-- :Mason
|
|
||||||
--
|
|
||||||
-- You can press `g?` for help in this menu.
|
|
||||||
--
|
|
||||||
-- `mason` had to be setup earlier: to configure its options see the
|
|
||||||
-- `dependencies` table for `nvim-lspconfig` above.
|
|
||||||
--
|
|
||||||
-- You can add other tools here that you want Mason to install
|
|
||||||
-- for you, so that they are available from within Neovim.
|
|
||||||
local ensure_installed = vim.tbl_keys(servers or {})
|
|
||||||
vim.list_extend(ensure_installed, {
|
|
||||||
'stylua', -- Used to format Lua code
|
|
||||||
})
|
|
||||||
require('mason-tool-installer').setup { ensure_installed = ensure_installed }
|
|
||||||
|
|
||||||
require('mason-lspconfig').setup {
|
|
||||||
ensure_installed = {}, -- explicitly set to an empty table (Kickstart populates installs via mason-tool-installer)
|
|
||||||
automatic_installation = false,
|
|
||||||
handlers = {
|
|
||||||
function(server_name)
|
|
||||||
local server = servers[server_name] or {}
|
|
||||||
-- This handles overriding only values explicitly passed
|
|
||||||
-- by the server configuration above. Useful when disabling
|
|
||||||
-- certain features of an LSP (for example, turning off formatting for ts_ls)
|
|
||||||
server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {})
|
|
||||||
require('lspconfig')[server_name].setup(server)
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
|
||||||
end,
|
|
||||||
},
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
return {
|
return { -- adds more detailed bar below the pane
|
||||||
|
{
|
||||||
'nvim-lualine/lualine.nvim',
|
'nvim-lualine/lualine.nvim',
|
||||||
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
dependencies = { 'nvim-tree/nvim-web-devicons' },
|
||||||
config = function()
|
config = function()
|
||||||
@@ -58,7 +59,32 @@ return {
|
|||||||
winbar = {},
|
winbar = {},
|
||||||
inactive_winbar = {},
|
inactive_winbar = {},
|
||||||
extensions = {}
|
extensions = {}
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'akinsho/bufferline.nvim',
|
||||||
|
version = "*",
|
||||||
|
dependencies = 'nvim-tree/nvim-web-devicons',
|
||||||
|
config = function()
|
||||||
|
local bufferline = require('bufferline')
|
||||||
|
bufferline.setup{
|
||||||
|
options = {
|
||||||
|
themable = true,
|
||||||
|
numbers = "buffer_id",
|
||||||
|
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 = ' ',
|
||||||
|
diagnostics = "nvim_lsp",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
return {
|
return { -- Collection of various small independent plugins/modules
|
||||||
-- Collection of various small independent plugins/modules
|
{
|
||||||
'echasnovski/mini.nvim',
|
'echasnovski/mini.nvim',
|
||||||
config = function()
|
config = function()
|
||||||
-- Better Around/Inside textobjects
|
-- Better Around/Inside textobjects
|
||||||
@@ -29,8 +29,18 @@ return {
|
|||||||
|
|
||||||
require('mini.clue').setup()
|
require('mini.clue').setup()
|
||||||
|
|
||||||
require('mini.pairs').setup()
|
|
||||||
|
|
||||||
|
|
||||||
end,
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'folke/snacks.nvim',
|
||||||
|
config = function()
|
||||||
|
require("snacks").setup({
|
||||||
|
image = {
|
||||||
|
enabled = true,
|
||||||
|
-- This ensures that when you open an image file, it renders
|
||||||
|
-- You can also toggle it manually with :SnacksImage
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
return {
|
return { -- add git tui functionality
|
||||||
"NeogitOrg/neogit",
|
"NeogitOrg/neogit",
|
||||||
lazy = true,
|
lazy = true,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
|
|||||||
20
lua/plugins/nerdtree.lua
Normal file
20
lua/plugins/nerdtree.lua
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
return { -- adds a more in-depth file manager with support for syntax highlighting and more commands
|
||||||
|
'nvim-tree/nvim-tree.lua',
|
||||||
|
dependencies = {
|
||||||
|
'nvim-tree/nvim-web-devicons',
|
||||||
|
},
|
||||||
|
config = function()
|
||||||
|
require("nvim-tree").setup({
|
||||||
|
view = {
|
||||||
|
side = "left",
|
||||||
|
width = 30,
|
||||||
|
},
|
||||||
|
actions = {
|
||||||
|
open_file = {
|
||||||
|
-- This is the "open in adjacent pane" equivalent
|
||||||
|
window_picker = { enable = true },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
return {
|
return { -- syncronizes activity with Discord rich presence
|
||||||
'andweeb/presence.nvim',
|
'andweeb/presence.nvim',
|
||||||
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
|
auto_update = true, -- Update activity based on autocmd events (if `false`, map or manually execute `:lua package.loaded.presence:update()`)
|
||||||
neovim_image_text = 'The One True Text Editor', -- Text displayed when hovered over the Neovim image
|
neovim_image_text = 'The One True Text Editor', -- Text displayed when hovered over the Neovim image
|
||||||
|
|||||||
11
lua/plugins/re.lua
Normal file
11
lua/plugins/re.lua
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
return {
|
||||||
|
'RaafatTurki/hex.nvim',
|
||||||
|
config = function()
|
||||||
|
require 'hex'.setup {
|
||||||
|
-- cli command used to dump hex data
|
||||||
|
dump_cmd = 'xxd -g 1 -u',
|
||||||
|
-- cli command used to assemble from hex data
|
||||||
|
assemble_cmd = 'xxd -r',
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
}
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
return {
|
|
||||||
'0xm4n/resize.nvim',
|
|
||||||
|
|
||||||
keys = {
|
|
||||||
-- Format: { 'key', 'command', desc = 'description', [opts]
|
|
||||||
{ '<M-Left>', "<cmd>lua require('resize').ResizeLeft()<CR>", { silent = true } },
|
|
||||||
{ '<M-Right>', "<cmd>lua require('resize').ResizeRight()<CR>", { silent = true } },
|
|
||||||
{ '<M-Up>', "<cmd>lua require('resize').ResizeUp()<CR>", { silent = true } },
|
|
||||||
{ '<M-Down>', "<cmd>lua require('resize').ResizeDown()<CR>", { silent = true } },
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
return {
|
|
||||||
'soywod/iris.vim', -- unsure
|
|
||||||
'tpope/vim-commentary', -- commenting lines with shortcut
|
|
||||||
-- 'vimpostor/vim-tpipeline', -- integrate with tmux status-line
|
|
||||||
'kshenoy/vim-signature', -- tag lines
|
|
||||||
'mg979/vim-visual-multi', -- work on multiple lines at once
|
|
||||||
{'NMAC427/guess-indent.nvim', -- Detect tabstop and shiftwidth automatically
|
|
||||||
config = function() require('guess-indent').setup {} end,},
|
|
||||||
'obsidian-nvim/obsidian.nvim', -- work with obsidian
|
|
||||||
{ 'edluffy/hologram.nvim', auto_display = true,}, --image viewer
|
|
||||||
'nvim-tree/nvim-web-devicons', -- nerdfont!
|
|
||||||
'nvim-lualine/lualine.nvim', -- lualine
|
|
||||||
'TamaMcGlinn/vim-termhere', --simple terminal QOL
|
|
||||||
"rktjmp/lush.nvim", -- better theme editing
|
|
||||||
{ "denialofsandwich/sudo.nvim", dependencies = { "MunifTanjim/nui.nvim", },config = true, }, --write restricted files without restart
|
|
||||||
{'akinsho/toggleterm.nvim', version = "*", config = true} -- terminal toggling and commands
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
return {
|
|
||||||
'xemptuous/sqlua.nvim',
|
|
||||||
lazy = true,
|
|
||||||
cmd = 'SQLua',
|
|
||||||
config = function() require('sqlua').setup() end
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
return { 'alex-popov-tech/store.nvim',
|
|
||||||
dependencies = { 'OXY2DEV/markview.nvim' },
|
|
||||||
opts = {},
|
|
||||||
cmd = 'Store',
|
|
||||||
}
|
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
return {
|
|
||||||
'nvim-telescope/telescope.nvim', tag = 'v0.2.0',
|
|
||||||
dependencies = { 'nvim-lua/plenary.nvim', 'BurntSushi/ripgrep', 'sharkdp/fd' }
|
|
||||||
}
|
|
||||||
@@ -1,21 +1,24 @@
|
|||||||
-- Plugin: zaldih/themery.nvim
|
return { -- adds a command to live view listed themes
|
||||||
-- Installed via store.nvim
|
-- TODO dynamically update themes
|
||||||
|
|
||||||
return {
|
|
||||||
'zaldih/themery.nvim',
|
'zaldih/themery.nvim',
|
||||||
lazy = false,
|
lazy = false,
|
||||||
config = function()
|
config = function()
|
||||||
require('themery').setup {
|
require('themery').setup {
|
||||||
themes = {
|
themes = {
|
||||||
|
'catppuccin-latte',
|
||||||
|
'catppuccin-frappe',
|
||||||
|
'catppuccin-macchiato',
|
||||||
|
'catppuccin-mocha',
|
||||||
|
'noctalia',
|
||||||
'zellner',
|
'zellner',
|
||||||
'zaibatsu',
|
'zaibatsu',
|
||||||
'wildcharm',
|
'wildcharm',
|
||||||
'vim',
|
'vim',
|
||||||
'unokai',
|
'unokai',
|
||||||
'torte',
|
'torte',
|
||||||
'tokyonight-storm',
|
-- 'tokyonight-storm',
|
||||||
'tokyonight-night',
|
-- 'tokyonight-night',
|
||||||
'tokyonight-day',
|
-- 'tokyonight-day',
|
||||||
'sorbet',
|
'sorbet',
|
||||||
'slate',
|
'slate',
|
||||||
'shine',
|
'shine',
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
return { -- Highlight, edit, and navigate code
|
|
||||||
'nvim-treesitter/nvim-treesitter',
|
|
||||||
build = ':TSUpdate',
|
|
||||||
-- main = 'nvim-treesitter.configs', -- Sets main module to use for opts
|
|
||||||
-- -- [[ Configure Treesitter ]] See `:help nvim-treesitter`
|
|
||||||
-- opts = {
|
|
||||||
-- ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' },
|
|
||||||
-- -- Autoinstall languages that are not installed
|
|
||||||
-- auto_install = true,
|
|
||||||
-- highlight = {
|
|
||||||
-- enable = true,
|
|
||||||
-- -- Some languages depend on vim's regex highlighting system (such as Ruby) for indent rules.
|
|
||||||
-- -- If you are experiencing weird indenting issues, add the language to
|
|
||||||
-- -- the list of additional_vim_regex_highlighting and disabled languages for indent.
|
|
||||||
-- additional_vim_regex_highlighting = { 'ruby' },
|
|
||||||
-- },
|
|
||||||
-- indent = { enable = true, disable = { 'ruby' } },
|
|
||||||
-- },
|
|
||||||
-- -- There are additional nvim-treesitter modules that you can use to interact
|
|
||||||
-- -- with nvim-treesitter. You should go explore a few and see what interests you:
|
|
||||||
-- --
|
|
||||||
-- -- - Incremental selection: Included, see `:help nvim-treesitter-incremental-selection-mod`
|
|
||||||
-- -- - Show your current context: https://github.com/nvim-treesitter/nvim-treesitter-context
|
|
||||||
-- -- - Treesitter + textobjects: https://github.com/nvim-treesitter/nvim-treesitter-textobjects
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
lua/plugins/simple.lua
|
|
||||||
30
spell/en.utf-8.add
Normal file
30
spell/en.utf-8.add
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
#xploring
|
||||||
|
gzipped
|
||||||
|
ext4
|
||||||
|
picoCTF
|
||||||
|
#othing
|
||||||
|
symlinked
|
||||||
|
Openrc
|
||||||
|
dir
|
||||||
|
Picoctf
|
||||||
|
nc
|
||||||
|
Gaviria
|
||||||
|
unix
|
||||||
|
linux
|
||||||
|
netcat
|
||||||
|
Ransomware
|
||||||
|
tmux
|
||||||
|
Pico
|
||||||
|
Pico
|
||||||
|
VPN
|
||||||
|
WLAN
|
||||||
|
GAN
|
||||||
|
Lan
|
||||||
|
TCP
|
||||||
|
UPD
|
||||||
|
biometrics
|
||||||
|
WPA
|
||||||
|
eduroam
|
||||||
|
pre-defined
|
||||||
|
#tateful
|
||||||
|
hashcat
|
||||||
BIN
spell/en.utf-8.add.spl
Normal file
BIN
spell/en.utf-8.add.spl
Normal file
Binary file not shown.
Reference in New Issue
Block a user