Compare commits

...

75 Commits

Author SHA1 Message Date
venus
976501e9d8 added telescope keybinds 2026-06-17 11:43:30 -05:00
venus
69b825c35f moved telescope file 2026-06-17 11:34:15 -05:00
venus
24babf0be9 working on adding shortcuts for telescope searching 2026-06-17 11:33:28 -05:00
venus
552b3e1a79 Implemented chat and inline functionality with codecompanion!! 2026-06-06 01:56:41 -05:00
venus
b056fe2097 trying to get AI integration to work :( 2026-06-05 03:12:43 -05:00
venus
fdb7cc83d1 adding support for codecompanion! 2026-06-05 02:44:15 -05:00
venus
16e7916672 moved gitsigns out of lsp config 2026-06-02 01:37:32 -05:00
venus
bbed1e2083 added functionality to easily replay last command 2026-06-02 01:36:34 -05:00
venus
07940444c9 actually added keybind lol 2026-06-02 00:47:27 -05:00
venus
0e76ac466d added keybind to refresh current config page without restarting nvim 2026-06-02 00:45:28 -05:00
venus
e7c8b3f9cd patched autocommand issue, simplifying lsp setup 2026-06-01 22:36:15 -05:00
venus
b427c4f09f modified commit message type for neogit 2026-05-31 20:45:22 -05:00
venus
56622a860c added keybinds and modified neogit for more useability 2026-05-31 20:41:39 -05:00
venus
2fe6a440b7 added some custom fucntions and a new api 2026-05-31 19:46:05 -05:00
venus
ccbebb5ceb Working on Neogit keybind integration, plus other changes 2026-05-31 19:45:22 -05:00
venus
85d4c44b31 added some plugions 2026-05-22 05:43:19 -05:00
venus
3882f7f805 neoburner support sorta, and hex editors for re 2026-04-25 11:53:20 -05:00
venus
3a85cfd58f disabled hardtime 2026-04-14 15:06:25 -05:00
venus
528e601702 added jq plugin 2026-04-10 18:30:11 -05:00
venus
6c333586fd added some plugins from the reddit 2026-04-06 22:25:21 -05:00
venus
5f387b0f7f log syntax highligh plugin 2026-04-01 22:01:14 -05:00
venus
66b8d10aea removed hexdump 2026-04-01 01:59:18 -05:00
venus
84294ac88d tested hexdump, sort of working 2026-04-01 01:52:20 -05:00
venus
69a847d43c added hexeditor, not tested 2026-04-01 01:46:48 -05:00
venus
5f35501f68 image support with snacks 2026-03-25 11:28:59 -05:00
venus
405659af0a updated spellcheck with keybinds and default off on most filetypes 2026-03-25 11:02:49 -05:00
venus
eec1f820fc updated spellcheck 2026-03-25 10:44:31 -05:00
venus
44811bbfcd grammar support for spellecehcker 2026-03-24 22:27:47 -05:00
venus
6659e4a691 adding spellcheck/grammar 2026-03-24 22:17:27 -05:00
venus
f859e98b82 commnets 2026-03-24 15:26:29 -05:00
venus
7bdce4f6b8 added dashboard 2026-03-24 02:26:47 -05:00
venus
03dc7fbe72 minor changes 2026-03-24 01:56:36 -05:00
venus
0b910f6e49 bufferline 2026-03-24 01:49:02 -05:00
venus
f2d5a10748 lazy plugins in one spot 2026-03-24 00:52:58 -05:00
venus
36806958e1 added trouble diagnostic tool 2026-03-24 00:43:18 -05:00
venus
a5dafdfbff combined gitsigns and lsp files 2026-03-23 22:08:01 -05:00
venus
1451c9db00 combined tressitter and lsp files, added zsh treesitter 2026-03-23 22:06:29 -05:00
venus
ea948d4508 explained all plugins 2026-03-23 22:02:19 -05:00
venus
8f70254615 moved resize plugin fike to keybinds 2026-03-23 21:52:56 -05:00
venus
2bad7ec707 consoildating plugins by function. updated repeat command shortcut 2026-03-23 21:51:07 -05:00
venus
27820d5005 run last now executes termexec script, will break remote configs... 2026-03-15 04:26:28 -05:00
venus
dcfe759794 fixed gitignore 2026-03-11 21:31:16 -05:00
venus
b7237dacaf colors updated need to ignore 2026-03-11 17:57:20 -05:00
venus
63bd661602 updated lsp with autocomplete 2026-03-10 16:34:31 -05:00
venus
be84313c2c configured lsp plugins 2026-03-10 02:12:25 -05:00
venus
d223037865 removed treesitter and lsp to reconfigure 2026-03-10 00:51:24 -05:00
venus
6fbf3b768f updated plugins 2026-03-10 00:24:22 -05:00
venus
99638caa52 background opacity of terminal changes when nvim opens using kitty 2026-03-10 00:13:13 -05:00
venus
7c602e62bc added noctalia theme sync 2026-03-09 23:30:00 -05:00
venus
55a7f6dc13 moved lazy setup into init file 2026-03-09 23:14:47 -05:00
venus
02e8dfa531 removed simple.lua file 2026-03-09 23:09:07 -05:00
venus
8cb9838e07 moved basic plugins into lazy file 2026-03-09 23:06:12 -05:00
venus
f6a1d7e158 moved lazy from base init 2026-03-09 23:03:59 -05:00
venus
0ffe1c07cf moved keybind and config files out of init, working 2026-03-09 22:57:02 -05:00
venus
eac6d7dd53 moved keybind and config files out of init 2026-03-09 16:26:23 -05:00
venus
bbb47d1a93 added a few plugins 2026-03-09 15:58:24 -05:00
river
ab96aa95e1 java support 2026-02-11 14:36:43 -06:00
river
930b5f7190 slightly more kb shortcuts 2026-02-05 19:07:09 -06:00
river
c2941ef7ea configured for hyprland 2026-02-03 22:10:50 -06:00
venus
be3ec8dc84 added plugin for better colortheme developement 2026-01-20 13:31:29 -06:00
venus
878bd5748e added more robust commands for compiling in terminal 2026-01-14 07:37:23 -06:00
venus
c08b9f3d01 added plugin for mod of sudo files 2026-01-12 07:47:58 -06:00
venus
764504185d tried to add nerd font and sql plugin 2026-01-12 07:42:51 -06:00
venus
3236e7e289 Added more plugins including resize and mini 2025-12-24 02:23:13 -06:00
venus
fc5be13cac added more netrw settings 2025-12-24 01:29:58 -06:00
venus
85bd433f73 added some netrw support and neogit 2025-12-24 01:23:20 -06:00
venus
e47751c2a5 fixed intelephense 2025-12-24 01:13:54 -06:00
venus
5311af0654 added support for LSP, not fully working 2025-12-24 01:04:27 -06:00
venus
7a592d7648 added more plugins including mini, lualine, and autotab 2025-12-24 00:47:40 -06:00
venus
31cb458f4b added which key and tagged plugins 2025-12-23 22:45:58 -06:00
venus
864f5c9d13 added more plugins from kickstart 2025-12-23 22:39:41 -06:00
venus
c90531a82d added more plugins from kickstart 2025-12-23 22:38:09 -06:00
venus
6f8e505c74 personalized config 2025-12-23 22:04:13 -06:00
venus
5f0fd9f41d lazy.nvim working 2025-12-23 01:25:24 -06:00
venus
9fdb7d2c1a removed kickstart plugins and started new init.lua 2025-12-22 22:35:13 -06:00
57 changed files with 1200 additions and 1690 deletions

8
.gitignore vendored
View File

@@ -1,7 +1,3 @@
tags
test.sh
.luarc.json
nvim
spell/
lazy-lock.json lazy-lock.json
spell/*

View File

@@ -1,19 +0,0 @@
MIT License
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

241
README.md
View File

@@ -1,241 +0,0 @@
# kickstart.nvim
## Introduction
A starting point for Neovim that is:
* Small
* Single-file
* Completely Documented
**NOT** a Neovim distribution, but instead a starting point for your configuration.
## Installation
### Install Neovim
Kickstart.nvim targets *only* the latest
['stable'](https://github.com/neovim/neovim/releases/tag/stable) and latest
['nightly'](https://github.com/neovim/neovim/releases/tag/nightly) of Neovim.
If you are experiencing issues, please make sure you have the latest versions.
### Install External Dependencies
External Requirements:
- Basic utils: `git`, `make`, `unzip`, C Compiler (`gcc`)
- [ripgrep](https://github.com/BurntSushi/ripgrep#installation),
[fd-find](https://github.com/sharkdp/fd#installation)
- Clipboard tool (xclip/xsel/win32yank or other depending on the platform)
- A [Nerd Font](https://www.nerdfonts.com/): optional, provides various icons
- if you have it set `vim.g.have_nerd_font` in `init.lua` to true
- Emoji fonts (Ubuntu only, and only if you want emoji!) `sudo apt install fonts-noto-color-emoji`
- Language Setup:
- If you want to write Typescript, you need `npm`
- If you want to write Golang, you will need `go`
- etc.
> [!NOTE]
> See [Install Recipes](#Install-Recipes) for additional Windows and Linux specific notes
> and quick install snippets
### Install Kickstart
> [!NOTE]
> [Backup](#FAQ) your previous configuration (if any exists)
Neovim's configurations are located under the following paths, depending on your OS:
| OS | PATH |
| :- | :--- |
| Linux, MacOS | `$XDG_CONFIG_HOME/nvim`, `~/.config/nvim` |
| Windows (cmd)| `%localappdata%\nvim\` |
| Windows (powershell)| `$env:LOCALAPPDATA\nvim\` |
#### Recommended Step
[Fork](https://docs.github.com/en/get-started/quickstart/fork-a-repo) this repo
so that you have your own copy that you can modify, then install by cloning the
fork to your machine using one of the commands below, depending on your OS.
> [!NOTE]
> Your fork's URL will be something like this:
> `https://github.com/<your_github_username>/kickstart.nvim.git`
You likely want to remove `lazy-lock.json` from your fork's `.gitignore` file
too - it's ignored in the kickstart repo to make maintenance easier, but it's
[recommended to track it in version control](https://lazy.folke.io/usage/lockfile).
#### Clone kickstart.nvim
> [!NOTE]
> If following the recommended step above (i.e., forking the repo), replace
> `nvim-lua` with `<your_github_username>` in the commands below
<details><summary> Linux and Mac </summary>
```sh
git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim
```
</details>
<details><summary> Windows </summary>
If you're using `cmd.exe`:
```
git clone https://github.com/nvim-lua/kickstart.nvim.git "%localappdata%\nvim"
```
If you're using `powershell.exe`
```
git clone https://github.com/nvim-lua/kickstart.nvim.git "${env:LOCALAPPDATA}\nvim"
```
</details>
### Post Installation
Start Neovim
```sh
nvim
```
That's it! Lazy will install all the plugins you have. Use `:Lazy` to view
the current plugin status. Hit `q` to close the window.
#### Read The Friendly Documentation
Read through the `init.lua` file in your configuration folder for more
information about extending and exploring Neovim. That also includes
examples of adding popularly requested plugins.
> [!NOTE]
> For more information about a particular plugin check its repository's documentation.
### Getting Started
[The Only Video You Need to Get Started with Neovim](https://youtu.be/m8C0Cq9Uv9o)
### FAQ
* What should I do if I already have a pre-existing Neovim configuration?
* You should back it up and then delete all associated files.
* This includes your existing init.lua and the Neovim files in `~/.local`
which can be deleted with `rm -rf ~/.local/share/nvim/`
* Can I keep my existing configuration in parallel to kickstart?
* Yes! You can use [NVIM_APPNAME](https://neovim.io/doc/user/starting.html#%24NVIM_APPNAME)`=nvim-NAME`
to maintain multiple configurations. For example, you can install the kickstart
configuration in `~/.config/nvim-kickstart` and create an alias:
```
alias nvim-kickstart='NVIM_APPNAME="nvim-kickstart" nvim'
```
When you run Neovim using `nvim-kickstart` alias it will use the alternative
config directory and the matching local directory
`~/.local/share/nvim-kickstart`. You can apply this approach to any Neovim
distribution that you would like to try out.
* What if I want to "uninstall" this configuration:
* See [lazy.nvim uninstall](https://lazy.folke.io/usage#-uninstalling) information
* Why is the kickstart `init.lua` a single file? Wouldn't it make sense to split it into multiple files?
* The main purpose of kickstart is to serve as a teaching tool and a reference
configuration that someone can easily use to `git clone` as a basis for their own.
As you progress in learning Neovim and Lua, you might consider splitting `init.lua`
into smaller parts. A fork of kickstart that does this while maintaining the
same functionality is available here:
* [kickstart-modular.nvim](https://github.com/dam9000/kickstart-modular.nvim)
* Discussions on this topic can be found here:
* [Restructure the configuration](https://github.com/nvim-lua/kickstart.nvim/issues/218)
* [Reorganize init.lua into a multi-file setup](https://github.com/nvim-lua/kickstart.nvim/pull/473)
### Install Recipes
Below you can find OS specific install instructions for Neovim and dependencies.
After installing all the dependencies continue with the [Install Kickstart](#Install-Kickstart) step.
#### Windows Installation
<details><summary>Windows with Microsoft C++ Build Tools and CMake</summary>
Installation may require installing build tools and updating the run command for `telescope-fzf-native`
See `telescope-fzf-native` documentation for [more details](https://github.com/nvim-telescope/telescope-fzf-native.nvim#installation)
This requires:
- Install CMake and the Microsoft C++ Build Tools on Windows
```lua
{'nvim-telescope/telescope-fzf-native.nvim', build = 'cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release && cmake --build build --config Release && cmake --install build --prefix build' }
```
</details>
<details><summary>Windows with gcc/make using chocolatey</summary>
Alternatively, one can install gcc and make which don't require changing the config,
the easiest way is to use choco:
1. install [chocolatey](https://chocolatey.org/install)
either follow the instructions on the page or use winget,
run in cmd as **admin**:
```
winget install --accept-source-agreements chocolatey.chocolatey
```
2. install all requirements using choco, exit the previous cmd and
open a new one so that choco path is set, and run in cmd as **admin**:
```
choco install -y neovim git ripgrep wget fd unzip gzip mingw make
```
</details>
<details><summary>WSL (Windows Subsystem for Linux)</summary>
```
wsl --install
wsl
sudo add-apt-repository ppa:neovim-ppa/unstable -y
sudo apt update
sudo apt install make gcc ripgrep unzip git xclip neovim
```
</details>
#### Linux Install
<details><summary>Ubuntu Install Steps</summary>
```
sudo add-apt-repository ppa:neovim-ppa/unstable -y
sudo apt update
sudo apt install make gcc ripgrep unzip git xclip neovim
```
</details>
<details><summary>Debian Install Steps</summary>
```
sudo apt update
sudo apt install make gcc ripgrep unzip git xclip curl
# Now we install nvim
curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.tar.gz
sudo rm -rf /opt/nvim-linux-x86_64
sudo mkdir -p /opt/nvim-linux-x86_64
sudo chmod a+rX /opt/nvim-linux-x86_64
sudo tar -C /opt -xzf nvim-linux-x86_64.tar.gz
# make it available in /usr/local/bin, distro installs to /usr/bin
sudo ln -sf /opt/nvim-linux-x86_64/bin/nvim /usr/local/bin/
```
</details>
<details><summary>Fedora Install Steps</summary>
```
sudo dnf install -y gcc make git ripgrep fd-find unzip neovim
```
</details>
<details><summary>Arch Install Steps</summary>
```
sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim
```
</details>

7
colors/noctalia.lua Normal file
View File

@@ -0,0 +1,7 @@
return {
bg = "#291414",
fg = "#f3f2f2",
accent = "#e46767",
error = "#fd4663",
warning = "#cccc66",
}

57
colors/testTheme.lua Normal file
View 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",
}

View File

@@ -1,24 +0,0 @@
================================================================================
INTRODUCTION *kickstart.nvim*
Kickstart.nvim is a project to help you get started on your neovim journey.
*kickstart-is-not*
It is not:
- Complete framework for every plugin under the sun
- Place to add every plugin that could ever be useful
*kickstart-is*
It is:
- Somewhere that has a good start for the most common "IDE" type features:
- autocompletion
- goto-definition
- find references
- fuzzy finding
- and hinting at what more can be done :)
- A place to _kickstart_ your journey.
- You should fork this project and use/modify it so that it matches your
style and preferences. If you don't want to do that, there are probably
other projects that would fit much better for you (and that's great!)!
vim:tw=78:ts=8:ft=help:norl:

View File

@@ -1,3 +0,0 @@
kickstart-is kickstart.txt /*kickstart-is*
kickstart-is-not kickstart.txt /*kickstart-is-not*
kickstart.nvim kickstart.txt /*kickstart.nvim*

1035
init.lua

File diff suppressed because it is too large Load Diff

66
lazy-lock.json Normal file
View File

@@ -0,0 +1,66 @@
{
"PDFview": { "branch": "main", "commit": "972dfcce5c0de578865649940f44bf57a700498d" },
"base16-nvim": { "branch": "master", "commit": "23e5128eb5f629c29532c24a1e733cbe019f05bb" },
"blink.cmp": { "branch": "main", "commit": "78336bc89ee5365633bcf754d93df01678b5c08f" },
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
"codecompanion.nvim": { "branch": "main", "commit": "6cbbcb4503430644f04ea5f087c8e2ea4cdc6f6e" },
"conform.nvim": { "branch": "master", "commit": "619363c30309d29ffa631e67c8183f2a72caa373" },
"dashboard-nvim": { "branch": "master", "commit": "f787e3462c2ee2b6117b17c1aa4ddf66cb6f57fe" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"fd": { "branch": "master", "commit": "f7d4d717c287a7834f8721efc0fa91c51d92afee" },
"fzf-lua": { "branch": "main", "commit": "988416cc782dfe28bff3f0da9b8c943b236cd86a" },
"gemini-cli.nvim": { "branch": "main", "commit": "c9fd62adda823628f5131a939d9c56ef7a898600" },
"gitsigns.nvim": { "branch": "main", "commit": "25050e4ed39e628282831d4cbecb1850454ce915" },
"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" },
"hyprlang-to-lua.nvim": { "branch": "main", "commit": "477430d9f379736bc2260086eb63517bb585b5d8" },
"inc-rename.nvim": { "branch": "main", "commit": "0074b551a17338ccdcd299bd86687cc651bcb33d" },
"jq.nvim": { "branch": "main", "commit": "70e12681b1026ba7c06c691fd815eed0e2244b81" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"lazydev.nvim": { "branch": "main", "commit": "ff2cbcba459b637ec3fd165a2be59b7bbaeedf0d" },
"log-highlight.nvim": { "branch": "main", "commit": "b2e00cfd41ca94338265a595f3f3f423d9f9322e" },
"ltex-ls.nvim": { "branch": "main", "commit": "968eac261279d88d7f1ed556aa2dbc535a7489fe" },
"lualine.nvim": { "branch": "master", "commit": "221ce6b2d999187044529f49da6554a92f740a96" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "0a695750d747db1e7e70bcf0267ef8951c95fc83" },
"mason.nvim": { "branch": "main", "commit": "16ba83bfc8a25f52bb545134f5bee082b195c460" },
"mini.nvim": { "branch": "main", "commit": "cbae4fa396bbf9c802b3d2dc2e9c5362e8fb9468" },
"mini.pick": { "branch": "main", "commit": "34fdef3b0966974378c4f39e3ddb54ffc628fbe9" },
"neogit": { "branch": "master", "commit": "99326a1310fb2d616b455d2fd16d01bf00682f06" },
"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": "531771530d4f82ad2d21e436e3cc052d68d7aebb" },
"nvim-java": { "branch": "main", "commit": "602a5f7fa92f9c1d425a2159133ff9de86842f0a" },
"nvim-lspconfig": { "branch": "master", "commit": "229b79051b380377664edc4cbd534930154921a1" },
"nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" },
"nvim-tree.lua": { "branch": "master", "commit": "07f541fcaa4a5ae019598240362449ab7e9812b3" },
"nvim-treesitter": { "branch": "main", "commit": "4916d6592ede8c07973490d9322f187e07dfefac" },
"nvim-web-devicons": { "branch": "master", "commit": "dfbfaa967a6f7ec50789bead7ef87e336c1fa63c" },
"obsidian.nvim": { "branch": "main", "commit": "239af7e896d1857d0a644253d2c7e571d38529a5" },
"plenary.nvim": { "branch": "master", "commit": "74b06c6c75e4eeb3108ec01852001636d85a932b" },
"presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" },
"remote-nvim.nvim": { "branch": "main", "commit": "9992c2fb8bf4f11aca2c8be8db286b506f92efcb" },
"render-markdown.nvim": { "branch": "main", "commit": "5adf0895310c1904e5abfaad40a2baad7fe44a07" },
"resize.nvim": { "branch": "main", "commit": "0b8943ef2ce54e65b9e56974e94dee593b28e7b5" },
"ripgrep": { "branch": "master", "commit": "48a6ad93f152dc848f1883ceb3bf2c7baab6738c" },
"snacks.nvim": { "branch": "main", "commit": "882c996cf28183f4d63640de0b4c02ec886d01f2" },
"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": "24e229914182ff301496a3e2c4214b28c4928d3f" },
"volt": { "branch": "main", "commit": "620de1321f275ec9d80028c68d1b88b409c0c8b1" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}

26
lua/autocommands.lua Normal file
View File

@@ -0,0 +1,26 @@
-- [[dynamicallt 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)
-- Use os.execute to run the kitty remote command
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,
})

17
lua/config/lazy.lua Normal file
View File

@@ -0,0 +1,17 @@
-- 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)

47
lua/config/lsp.lua Normal file
View 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
View File

21
lua/custom-functions.lua Normal file
View File

@@ -0,0 +1,21 @@
-- lua/custom-functions.lua
-- A library file with custom functions for cleaner code elsewhere
local C = {}
function C.RunCommand(Command)
-- TODO IMplement an autocompiler function based on context
local tt = require("toggleterm")
local command = string.lower(Command)
if command == "l" or command == "last" then tt.exec("clear && fc -e -\r") end
if command == "c" or command == "compile" then tt.exec("clear && make\r") end
vim.defer_fn(function ()
vim.api.nvim_echo({
{ "▶ Terminal: ", "WarningMsg" },
{ "Running previous terminal command... ", "Normal" },
}, true, {})
end, 50)
return ""
end
return C

View File

@@ -1,3 +0,0 @@
return {
'tpope/vim-commentary',
}

View File

@@ -1,4 +0,0 @@
return {
'edluffy/hologram.nvim',
auto_display = true, -- WIP automatic markdown image display, may be prone to breaking
}

View File

@@ -1,5 +0,0 @@
return {
{
'soywod/iris.vim',
},
}

View File

@@ -1,15 +0,0 @@
-- Plugin: NeogitOrg/neogit
-- Installed via store.nvim
return {
"NeogitOrg/neogit",
dependencies = {
"nvim-lua/plenary.nvim", -- required
"sindrets/diffview.nvim", -- optional - Diff integration
-- Only one of these is needed.
"nvim-telescope/telescope.nvim", -- optional
"ibhagwan/fzf-lua", -- optional
"nvim-mini/mini.pick", -- optional
"folke/snacks.nvim" -- optional
}
}

View File

@@ -1,5 +0,0 @@
return {
{
'obsidian-nvim/obsidian.nvim',
},
}

View File

@@ -1,5 +0,0 @@
return {
{
'tpope/vim-commentary',
},
}

View File

@@ -1,11 +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 } },
},
}

View File

@@ -1,6 +0,0 @@
return {
'alex-popov-tech/store.nvim',
dependencies = { 'OXY2DEV/markview.nvim' },
opts = {},
cmd = 'Store',
}

View File

@@ -1,3 +0,0 @@
return {
'vimpostor/vim-tpipeline',
}

View File

@@ -1,5 +0,0 @@
return {
{
'michaeljsmith/vim-indent-object',
},
}

View File

@@ -1,3 +0,0 @@
return {
'kshenoy/vim-signature',
}

View File

@@ -1,5 +0,0 @@
return {
{
'mg979/vim-visual-multi',
},
}

93
lua/keybinds.lua Normal file
View File

@@ -0,0 +1,93 @@
--/lua/keybinds.lua
-- This file defines all of the kybinds for nvim.
-- Add these lines at the very top of your keymaps file
vim.cmd('silent! unmapclear') -- Clears Normal, Visual, Select, and Operator-pending maps
vim.cmd('silent! cmapclear') -- Clears Command-line maps
vim.cmd('silent! imapclear') -- Clears Insert maps
vim.cmd('silent! tmapclear') -- Clears Terminal maps
-- ==========================================
-- Define your current keymaps below this line
-- ==========================================
vim.keymap.set('n', '<leader>w', ':w<CR>')
package.loaded["custom-functions"] = nil
local utils = require("custom-functions")
-- 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>")
-- terminal interface shortcuts
vim.keymap.set('n','<Esc>' ,'<cmd>nohlsearch<CR>')
vim.keymap.set('t','<Esc><Esc>' ,'<C-\\><C-n>' ,{ desc = 'Exit terminal mode' })
vim.keymap.set('n','<leader>r' ,'<cmd>TermExec cmd="clear && make"<CR>' ,{ desc = '[r]un make in terminal' })
vim.keymap.set('n','<leader>l' ,function() utils.RunCommand("l") end ,{ desc = 'run [l]ast command 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>e" ,"<cmd>NvimTreeToggle<CR>" ,{desc = 'open [E]xplorer'})
-- Diagnostic keymaps
vim.keymap.set('n', '<leader>q' ,vim.diagnostic.setloclist ,{ desc = 'Open diagnostic [Q]uickfix list' })
vim.keymap.set("n", "<leader>R" ,"<cmd>source %<Cr>:echo 'Config reloaded!'<CR>" ,{ desc = "[S]ource config file"})
-- 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>')
-- 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 QOL
-- vim.keymap.set("n", "<leader>a", ":IncRename ", {desc = 'ren[A]me variable under cursor'})
-- PLUGIN KEYBINDS
vim.keymap.set({ "n", "v" } ,"<leader>aa" ,"<cmd>CodeCompanionActions<cr>" ,{ desc = "CodeCompanion - Actions" })
vim.keymap.set({ "n", "v" } ,"<leader>ac" ,"<cmd>CodeCompanionChat Toggle<cr>" ,{ desc = "CodeCompanion - Chat" })
vim.keymap.set({ "n", "v" } ,"<leader>ai" ,"<cmd>CodeCompanion<cr>" ,{ desc = "CodeCompanion - Inline" })
vim.keymap.set("v" ,"<leader>ad" ,"<cmd>CodeCompanionChat Add<cr>" ,{ desc = "CodeCompanion - Add to Chat" })
-- Expand 'cc' into 'CodeCompanion' in the command line
vim.cmd([[cab cc CodeCompanion]])
--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" })
--Hex Editing
vim.keymap.set('n', '<leader>hh' ,'<cmd>Hex<CR>' ,{ desc = 'open [H]ex view of a file' })
--Neogit
-- <leader>gg bound to UI toggle
vim.keymap.set('n', '<leader>gg' ,'<cmd>Neogit<cr>' ,{ desc = 'open Neo[g]it interface' })
vim.keymap.set('n', '<leader>gc' ,'<cmd>Neogit commit<cr>' ,{ desc = 'open Neogit [c]ommit page' })
-- Telecope
vim.keymap.set('n', '<leader>ff' ,'<cmd>Telescope find_files<cr>' ,{ desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg' ,'<cmd>Telescope live_grep<cr>' ,{ desc = 'Telescope live grep' })
vim.keymap.set('n', '<leader>fb' ,'<cmd>Telescope buffers<cr>' ,{ desc = 'Telescope buffers' })
vim.keymap.set('n', '<leader>fh' ,'<cmd>Telescope help_tags<cr>' ,{ desc = 'Telescope help tags' })

View File

@@ -1,52 +0,0 @@
--[[
--
-- This file is not required for your own configuration,
-- but helps people determine if their system is setup correctly.
--
--]]
local check_version = function()
local verstr = tostring(vim.version())
if not vim.version.ge then
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
return
end
if vim.version.ge(vim.version(), '0.10-dev') then
vim.health.ok(string.format("Neovim version is: '%s'", verstr))
else
vim.health.error(string.format("Neovim out of date: '%s'. Upgrade to latest stable or nightly", verstr))
end
end
local check_external_reqs = function()
-- Basic utils: `git`, `make`, `unzip`
for _, exe in ipairs { 'git', 'make', 'unzip', 'rg' } do
local is_executable = vim.fn.executable(exe) == 1
if is_executable then
vim.health.ok(string.format("Found executable: '%s'", exe))
else
vim.health.warn(string.format("Could not find executable: '%s'", exe))
end
end
return true
end
return {
check = function()
vim.health.start 'kickstart.nvim'
vim.health.info [[NOTE: Not every warning is a 'must-fix' in `:checkhealth`
Fix only warnings for plugins and languages you intend to use.
Mason will give warnings for languages that are not installed.
You do not need to install, unless you want to use those languages!]]
local uv = vim.uv or vim.loop
vim.health.info('System Information: ' .. vim.inspect(uv.os_uname()))
check_version()
check_external_reqs()
end,
}

View File

@@ -1,8 +0,0 @@
-- autopairs
-- https://github.com/windwp/nvim-autopairs
return {
'windwp/nvim-autopairs',
event = 'InsertEnter',
opts = {},
}

View File

@@ -1,148 +0,0 @@
-- debug.lua
--
-- Shows how to use the DAP plugin to debug your code.
--
-- Primarily focused on configuring the debugger for Go, but can
-- be extended to other languages as well. That's why it's called
-- kickstart.nvim and not kitchen-sink.nvim ;)
return {
-- NOTE: Yes, you can install new plugins here!
'mfussenegger/nvim-dap',
-- NOTE: And you can specify dependencies as well
dependencies = {
-- Creates a beautiful debugger UI
'rcarriga/nvim-dap-ui',
-- Required dependency for nvim-dap-ui
'nvim-neotest/nvim-nio',
-- Installs the debug adapters for you
'mason-org/mason.nvim',
'jay-babu/mason-nvim-dap.nvim',
-- Add your own debuggers here
'leoluz/nvim-dap-go',
},
keys = {
-- Basic debugging keymaps, feel free to change to your liking!
{
'<F5>',
function()
require('dap').continue()
end,
desc = 'Debug: Start/Continue',
},
{
'<F1>',
function()
require('dap').step_into()
end,
desc = 'Debug: Step Into',
},
{
'<F2>',
function()
require('dap').step_over()
end,
desc = 'Debug: Step Over',
},
{
'<F3>',
function()
require('dap').step_out()
end,
desc = 'Debug: Step Out',
},
{
'<leader>b',
function()
require('dap').toggle_breakpoint()
end,
desc = 'Debug: Toggle Breakpoint',
},
{
'<leader>B',
function()
require('dap').set_breakpoint(vim.fn.input 'Breakpoint condition: ')
end,
desc = 'Debug: Set Breakpoint',
},
-- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception.
{
'<F7>',
function()
require('dapui').toggle()
end,
desc = 'Debug: See last session result.',
},
},
config = function()
local dap = require 'dap'
local dapui = require 'dapui'
require('mason-nvim-dap').setup {
-- Makes a best effort to setup the various debuggers with
-- reasonable debug configurations
automatic_installation = true,
-- You can provide additional configuration to the handlers,
-- see mason-nvim-dap README for more information
handlers = {},
-- You'll need to check that you have the required things installed
-- online, please don't ask me how to install them :)
ensure_installed = {
-- Update this to ensure that you have the debuggers for the langs you want
'delve',
},
}
-- Dap UI setup
-- For more information, see |:help nvim-dap-ui|
dapui.setup {
-- Set icons to characters that are more likely to work in every terminal.
-- Feel free to remove or use ones that you like more! :)
-- Don't feel like these are good choices.
icons = { expanded = '', collapsed = '', current_frame = '*' },
controls = {
icons = {
pause = '',
play = '',
step_into = '',
step_over = '',
step_out = '',
step_back = 'b',
run_last = '▶▶',
terminate = '',
disconnect = '',
},
},
}
-- Change breakpoint icons
-- vim.api.nvim_set_hl(0, 'DapBreak', { fg = '#e51400' })
-- vim.api.nvim_set_hl(0, 'DapStop', { fg = '#ffcc00' })
-- local breakpoint_icons = vim.g.have_nerd_font
-- and { Breakpoint = '', BreakpointCondition = '', BreakpointRejected = '', LogPoint = '', Stopped = '' }
-- or { Breakpoint = '●', BreakpointCondition = '⊜', BreakpointRejected = '⊘', LogPoint = '◆', Stopped = '⭔' }
-- for type, icon in pairs(breakpoint_icons) do
-- local tp = 'Dap' .. type
-- local hl = (type == 'Stopped') and 'DapStop' or 'DapBreak'
-- vim.fn.sign_define(tp, { text = icon, texthl = hl, numhl = hl })
-- end
dap.listeners.after.event_initialized['dapui_config'] = dapui.open
dap.listeners.before.event_terminated['dapui_config'] = dapui.close
dap.listeners.before.event_exited['dapui_config'] = dapui.close
-- Install golang specific config
require('dap-go').setup {
delve = {
-- On Windows delve must be run attached or it crashes.
-- See https://github.com/leoluz/nvim-dap-go/blob/main/README.md#configuring
detached = vim.fn.has 'win32' == 0,
},
}
end,
}

View File

@@ -1,61 +0,0 @@
-- Adds git related signs to the gutter, as well as utilities for managing changes
-- NOTE: gitsigns is already included in init.lua but contains only the base
-- config. This will add also the recommended keymaps.
return {
{
'lewis6991/gitsigns.nvim',
opts = {
on_attach = function(bufnr)
local gitsigns = require 'gitsigns'
local function map(mode, l, r, opts)
opts = opts or {}
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
-- Navigation
map('n', ']c', function()
if vim.wo.diff then
vim.cmd.normal { ']c', bang = true }
else
gitsigns.nav_hunk 'next'
end
end, { desc = 'Jump to next git [c]hange' })
map('n', '[c', function()
if vim.wo.diff then
vim.cmd.normal { '[c', bang = true }
else
gitsigns.nav_hunk 'prev'
end
end, { desc = 'Jump to previous git [c]hange' })
-- Actions
-- visual mode
map('v', '<leader>hs', function()
gitsigns.stage_hunk { vim.fn.line '.', vim.fn.line 'v' }
end, { desc = 'git [s]tage hunk' })
map('v', '<leader>hr', function()
gitsigns.reset_hunk { vim.fn.line '.', vim.fn.line 'v' }
end, { desc = 'git [r]eset hunk' })
-- normal mode
map('n', '<leader>hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' })
map('n', '<leader>hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' })
map('n', '<leader>hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' })
map('n', '<leader>hu', gitsigns.stage_hunk, { desc = 'git [u]ndo stage hunk' })
map('n', '<leader>hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' })
map('n', '<leader>hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' })
map('n', '<leader>hb', gitsigns.blame_line, { desc = 'git [b]lame line' })
map('n', '<leader>hd', gitsigns.diffthis, { desc = 'git [d]iff against index' })
map('n', '<leader>hD', function()
gitsigns.diffthis '@'
end, { desc = 'git [D]iff against last commit' })
-- Toggles
map('n', '<leader>tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' })
map('n', '<leader>tD', gitsigns.preview_hunk_inline, { desc = '[T]oggle git show [D]eleted' })
end,
},
},
}

View File

@@ -1,9 +0,0 @@
return {
{ -- Add indentation guides even on blank lines
'lukas-reineke/indent-blankline.nvim',
-- Enable `lukas-reineke/indent-blankline.nvim`
-- See `:help ibl`
main = 'ibl',
opts = {},
},
}

View File

@@ -1,60 +0,0 @@
return {
{ -- Linting
'mfussenegger/nvim-lint',
event = { 'BufReadPre', 'BufNewFile' },
config = function()
local lint = require 'lint'
lint.linters_by_ft = {
markdown = { 'markdownlint' },
}
-- To allow other plugins to add linters to require('lint').linters_by_ft,
-- instead set linters_by_ft like this:
-- lint.linters_by_ft = lint.linters_by_ft or {}
-- lint.linters_by_ft['markdown'] = { 'markdownlint' }
--
-- However, note that this will enable a set of default linters,
-- which will cause errors unless these tools are available:
-- {
-- clojure = { "clj-kondo" },
-- dockerfile = { "hadolint" },
-- inko = { "inko" },
-- janet = { "janet" },
-- json = { "jsonlint" },
-- markdown = { "vale" },
-- rst = { "vale" },
-- ruby = { "ruby" },
-- terraform = { "tflint" },
-- text = { "vale" }
-- }
--
-- You can disable the default linters by setting their filetypes to nil:
-- lint.linters_by_ft['clojure'] = nil
-- lint.linters_by_ft['dockerfile'] = nil
-- lint.linters_by_ft['inko'] = nil
-- lint.linters_by_ft['janet'] = nil
-- lint.linters_by_ft['json'] = nil
-- lint.linters_by_ft['markdown'] = nil
-- lint.linters_by_ft['rst'] = nil
-- lint.linters_by_ft['ruby'] = nil
-- lint.linters_by_ft['terraform'] = nil
-- lint.linters_by_ft['text'] = nil
-- Create autocommand which carries out the actual linting
-- on the specified events.
local lint_augroup = vim.api.nvim_create_augroup('lint', { clear = true })
vim.api.nvim_create_autocmd({ 'BufEnter', 'BufWritePost', 'InsertLeave' }, {
group = lint_augroup,
callback = function()
-- Only run the linter in buffers that you can modify in order to
-- avoid superfluous noise, notably within the handy LSP pop-ups that
-- describe the hovered symbol using Markdown.
if vim.bo.modifiable then
lint.try_lint()
end
end,
})
end,
},
}

View File

@@ -1,25 +0,0 @@
-- Neo-tree is a Neovim plugin to browse the file system
-- https://github.com/nvim-neo-tree/neo-tree.nvim
return {
'nvim-neo-tree/neo-tree.nvim',
version = '*',
dependencies = {
'nvim-lua/plenary.nvim',
'nvim-tree/nvim-web-devicons', -- not strictly required, but recommended
'MunifTanjim/nui.nvim',
},
lazy = false,
keys = {
{ '\\', ':Neotree reveal<CR>', desc = 'NeoTree reveal', silent = true },
},
opts = {
filesystem = {
window = {
mappings = {
['\\'] = 'close_window',
},
},
},
},
}

37
lua/matugen-template.lua Normal file
View 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
View 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

66
lua/options.lua Normal file
View File

@@ -0,0 +1,66 @@
-- /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 = 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
-- vim.opt.expandtab = false -- Do NOT turn tabs into spaces
-- vim.opt.tabstop = 4 -- A literal \t character looks 4 columns wide
-- vim.opt.shiftwidth = 4 -- Number of spaces for automated indentation (<< or >>)
-- vim.opt.softtabstop = 0 -- Let the backspace key delete a full hard tab
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

View File

@@ -0,0 +1,74 @@
return {
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
opts = {
display = {
chat = {
window = {
layout = "vertical",
width = 0.35,
height = 0.35,
},
keymaps = {
close = {
modes = {
n = "q", -- Bind "q" in normal mode to close the chat
},
index = 1,
callback = "keymaps.close",
description = "Close Chat",
},
}
},
},
interactions = {
chat = {
adapter = "gemini_pro", -- Removed the curly braces
},
inline = {
adapter = "gemini_flash", -- Removed the curly braces
},
},
background = {
adapter = "ollama_bg", -- Pointed this to the new extended adapter string
},
adapters = {
http = {
gemini_pro = function()
return require("codecompanion.adapters").extend("gemini", {
name = "gemini_pro",
schema = {
model = {
default = "gemini-3.5-flash",
},
},
})
end,
gemini_flash = function()
return require("codecompanion.adapters").extend("gemini", {
name = "gemini_flash",
schema = {
model = {
default = "gemini-2.0-flash",
},
},
})
end,
-- Added an extended Ollama adapter to fix your background task
ollama_bg = function()
return require("codecompanion.adapters").extend("ollama", {
name = "ollama_bg",
schema = {
model = {
default = "qwen-7b-instruct",
},
},
})
end,
},
},
}
}

44
lua/plugins/dashboard.lua Normal file
View 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
View 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
}

12
lua/plugins/gitsigns.lua Normal file
View File

@@ -0,0 +1,12 @@
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 = '~' },
},
},
}

View File

@@ -0,0 +1,8 @@
return {
'NMAC427/guess-indent.nvim',
config = function()
require('guess-indent').setup ({
filetype_exclude = {"lua"},
})
end,
} -- Detect tabstop and shiftwidth automatically

View 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",
},
},
},
}

80
lua/plugins/lsp.lua Normal file
View File

@@ -0,0 +1,80 @@
return { -- adds lsp functionality and api for included languages
{
"neovim/nvim-lspconfig",
dependencies = {
{ "mason-org/mason.nvim", config = true }, -- The "App Store"
{ "mason-org/mason-lspconfig.nvim", config = true }, -- The "Bridge"
{
'saghen/blink.cmp',
version = '*', -- Downloads pre-built binaries (fast!)
opts =
{
keymap = {
preset = 'none',
['<Down>'] = { 'select_next', 'fallback' },
['<Up>'] = { 'select_prev', 'fallback' },
['<Tab>'] = { 'accept', 'fallback' },
['<C-space>'] = { 'show', 'show_documentation', 'hide_documentation' },
},
sources = {
default = { 'lsp', 'path', 'snippets', 'buffer' },
},
},
},
{
'MeanderingProgrammer/render-markdown.nvim',
dependencies = { 'nvim-treesitter/nvim-treesitter', 'nvim-mini/mini.nvim' }, -- if you use the mini.nvim suite
---@module 'render-markdown'
},
config = function()
local lspconfig = require('lspconfig')
-- Since you are using blink.cmp, extract its capabilities
local capabilities = require('blink.cmp').get_lsp_capabilities()
-- Configure OmniSharp for C# / nanoFramework development
lspconfig.omnisharp.setup({
capabilities = capabilities,
cmd = { "omnisharp" },
settings = {
FormattingOptions = {
EnableEditorConfigSupport = true,
},
MsBuild = {
LoadProjectsOnDemand = false,
},
},
on_attach = function(client, bufnr)
local opts = { buffer = bufnr, remap = false }
vim.keymap.set("n", "gd", function() vim.lsp.buf.definition() end, opts)
vim.keymap.set("n", "K", function() vim.lsp.buf.hover() end, opts)
vim.keymap.set("n", "<leader>ca", function() vim.lsp.buf.code_action() end, opts)
end,
})
end
},
},
{
"folke/lazydev.nvim",
ft = "lua", -- only load on lua files
opts = {
library = {
-- Only load luvit types when the `vim.uv` word is found
{ path = "${3rd}/luv/library", words = { "vim%.uv" } },
-- always load the LazyVim library
"LazyVim",
-- Only load the lazyvim library when the `LazyVim` global is found
{ path = "LazyVim", words = { "LazyVim" } },
-- Load the wezterm types when the `wezterm` module is required
-- Needs `DrKJeff16/wezterm-types` to be installed
{ path = "wezterm-types", mods = { "wezterm" } },
-- Load the xmake types when opening file named `xmake.lua`
-- Needs `LelouchHe/xmake-luals-addon` to be installed
{ path = "xmake-luals-addon/library", files = { "xmake.lua" } },
},
-- disable when a .luarc.json file is found
enabled = function(root_dir)
return not vim.uv.fs_stat(root_dir .. "/.luarc.json")
end,
},
},
}

90
lua/plugins/lualine.lua Normal file
View File

@@ -0,0 +1,90 @@
return { -- adds more detailed bar below the pane
{
'nvim-lualine/lualine.nvim',
dependencies = { 'nvim-tree/nvim-web-devicons' },
config = function()
require('lualine').setup {
options = {
icons_enabled = true,
theme = 'auto',
component_separators = { left = '', right = ''},
section_separators = { left = '', right = ''},
disabled_filetypes = {
statusline = {},
winbar = {},
},
ignore_focus = {},
always_divide_middle = true,
always_show_tabline = true,
globalstatus = false,
refresh = {
statusline = 1000,
tabline = 1000,
winbar = 1000,
refresh_time = 16, -- ~60fps
events = {
'WinEnter',
'BufEnter',
'BufWritePost',
'SessionLoadPost',
'FileChangedShellPost',
'VimResized',
'Filetype',
'CursorMoved',
'CursorMovedI',
'ModeChanged',
},
}
},
sections = {
lualine_a = {'mode', 'lsp_status'},
lualine_b = {'branch', 'diff', 'diagnostics'},
lualine_c = {'filename'},
-- lualine_d = {'tabs', 'windows'},
lualine_x = {'searchcount', 'selectioncount', 'fileformat', 'filetype'},
lualine_y = {'progress', 'location'},
lualine_z = {{'datetime', style = "%m/%d %H:%M"}}
},
inactive_sections = {
lualine_a = {},
lualine_b = {},
lualine_c = {'filename'},
lualine_x = {'location'},
lualine_y = {},
lualine_z = {}
},
tabline = {
-- lualine_a = {'filename'}
},
winbar = {},
inactive_winbar = {},
extensions = {}
}
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
},
}

46
lua/plugins/mini.lua Normal file
View File

@@ -0,0 +1,46 @@
return { -- Collection of various small independent plugins/modules
{
'echasnovski/mini.nvim',
config = function()
-- Better Around/Inside textobjects
--
-- Examples:
-- - va) - [V]isually select [A]round [)]paren
-- - yinq - [Y]ank [I]nside [N]ext [Q]uote
-- - ci' - [C]hange [I]nside [']quote
require('mini.ai').setup { n_lines = 500 }
-- Add/delete/replace surroundings (brackets, quotes, etc.)
--
-- - saiw) - [S]urround [A]dd [I]nner [W]ord [)]Paren
-- - sd' - [S]urround [D]elete [']quotes
-- - sr)' - [S]urround [R]eplace [)] [']
require('mini.surround').setup()
require('mini.cursorword').setup()
require('mini.indentscope').setup {draw = {delay = 30 }}
require('mini.map').setup()
require('mini.tabline').setup()
require('mini.move').setup()
require('mini.clue').setup()
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,
}
}

28
lua/plugins/neogit.lua Normal file
View File

@@ -0,0 +1,28 @@
return { -- add git tui functionality
"NeogitOrg/neogit",
lazy = true,
dependencies = {
"nvim-lua/plenary.nvim", -- required
"sindrets/diffview.nvim", -- optional - Diff integration
-- Only one of these is needed.
"nvim-telescope/telescope.nvim", -- optional
"ibhagwan/fzf-lua", -- optional
"nvim-mini/mini.pick", -- optional
"folke/snacks.nvim", -- optional
},
cmd = "Neogit",
keys = {
{ "<leader>gg", "<cmd>Neogit<cr>", desc = "Show Neogit UI" }
},
config = function()
local ng = require("neogit")
ng.setup({
kind = "floating",
commit_editor = {
kind = "floating",
stages_diff_split_kind = "split"
},
})
end,
}

20
lua/plugins/nerdtree.lua Normal file
View 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,
}

View File

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

14
lua/plugins/remote.lua Normal file
View File

@@ -0,0 +1,14 @@
return {
"amitds1997/remote-nvim.nvim",
version = "*", -- Pin to GitHub releases for stability
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim",
"MunifTanjim/nui.nvim",
},
config = function()
require("remote-nvim").setup({
ssh_config_file_paths = { vim.fn.expand("$HOME/.ssh/config") },
})
end
}

View File

@@ -0,0 +1,9 @@
return {
'nvim-telescope/telescope.nvim', tag = 'v0.2.0',
dependencies = {
'nvim-lua/plenary.nvim',
'BurntSushi/ripgrep',
'sharkdp/fd'
}
}

View File

@@ -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',

View File

@@ -0,0 +1,36 @@
return { -- basic tree sitter parser support
"nvim-treesitter/nvim-treesitter",
opts = {
indent = { enable = true },
highlight = { enable = true },
folds = { enable = true },
ensure_installed = {
"bash",
"c",
"diff",
"html",
"javascript",
"jsdoc",
"json",
"lua",
"luadoc",
"luap",
"markdown",
"markdown_inline",
"printf",
"python",
"query",
"regex",
"toml",
"tsx",
"typescript",
"vim",
"vimdoc",
"xml",
"yaml",
"zsh",
"cmake",
"c_sharp",
},
}
}

52
lua/plugins/whichkey.lua Normal file
View File

@@ -0,0 +1,52 @@
return { -- Useful plugin to show you pending keybinds.
'folke/which-key.nvim',
event = 'VimEnter', -- Sets the loading event to 'VimEnter'
opts = {
-- delay between pressing a key and opening which-key (milliseconds)
-- this setting is independent of vim.o.timeoutlen
delay = 0,
icons = {
-- set icon mappings to true if you have a Nerd Font
mappings = vim.g.have_nerd_font,
-- If you are using a Nerd Font: set icons.keys to an empty table which will use the
-- default which-key.nvim defined Nerd Font icons, otherwise define a string table
keys = vim.g.have_nerd_font and {} or {
Up = '<Up> ',
Down = '<Down> ',
Left = '<Left> ',
Right = '<Right> ',
C = '<C-…> ',
M = '<M-…> ',
D = '<D-…> ',
S = '<S-…> ',
CR = '<CR> ',
Esc = '<Esc> ',
ScrollWheelDown = '<ScrollWheelDown> ',
ScrollWheelUp = '<ScrollWheelUp> ',
NL = '<NL> ',
BS = '<BS> ',
Space = '<Space> ',
Tab = '<Tab> ',
F1 = '<F1>',
F2 = '<F2>',
F3 = '<F3>',
F4 = '<F4>',
F5 = '<F5>',
F6 = '<F6>',
F7 = '<F7>',
F8 = '<F8>',
F9 = '<F9>',
F10 = '<F10>',
F11 = '<F11>',
F12 = '<F12>',
},
},
-- Document existing key chains
spec = {
{ '<leader>s', group = '[S]earch' },
{ '<leader>t', group = '[T]oggle' },
{ '<leader>h', group = 'Git [H]unk', mode = { 'n', 'v' } },
},
},
}

30
spell/en.utf-8.add Normal file
View 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

Binary file not shown.