diff --git a/.gitconfig b/.gitconfig index cb3c2fa..e41e22a 100644 --- a/.gitconfig +++ b/.gitconfig @@ -18,3 +18,5 @@ autoSetupRemote = true [rerere] enabled = true +[credential "https://revolutionrace.ghe.com"] + provider = github diff --git a/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/settings.json b/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/settings.json index f7b2732..b37dd22 100644 --- a/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/settings.json +++ b/AppData/Local/Packages/Microsoft.WindowsTerminal_8wekyb3d8bbwe/LocalState/settings.json @@ -15,10 +15,6 @@ "command": "paste", "id": "User.paste" }, - { - "command": "find", - "id": "User.find" - }, { "command": { @@ -28,6 +24,10 @@ }, "id": "User.splitPane.A6751878" }, + { + "command": "find", + "id": "User.find" + }, { "command": { @@ -50,14 +50,14 @@ "id": "User.copy.644BA8F2", "keys": "ctrl+c" }, - { - "id": "User.paste", - "keys": "ctrl+v" - }, { "id": "User.find", "keys": "ctrl+shift+f" }, + { + "id": "User.paste", + "keys": "ctrl+v" + }, { "id": "User.splitPane.A6751878", "keys": "alt+shift+d" @@ -153,6 +153,18 @@ "hidden": false, "name": "Developer PowerShell for VS 2022", "source": "Windows.Terminal.VisualStudio" + }, + { + "guid": "{810d6ec0-f90b-54fe-8737-b11d7d34649d}", + "hidden": false, + "name": "Developer Command Prompt for VS 18", + "source": "Windows.Terminal.VisualStudio" + }, + { + "guid": "{54d0e20b-491a-50a1-9dbc-98af7f030e8c}", + "hidden": false, + "name": "Developer PowerShell for VS 18", + "source": "Windows.Terminal.VisualStudio" } ] }, diff --git a/AppData/Local/nvim/.github/ISSUE_TEMPLATE/bug_report.md b/AppData/Local/nvim/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 86598b8..0000000 --- a/AppData/Local/nvim/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' - ---- - - - -## Before Reporting an Issue -- I have read the kickstart.nvim README.md. -- I have read the appropriate plugin's documentation. -- I have searched that this issue has not been reported before. - -- [ ] **By checking this, I confirm that the above steps are completed. I understand leaving this unchecked will result in this report being closed immediately.** - -## Describe the bug - - -## To Reproduce - -1. ... - -## Desktop - -- OS: -- Terminal: - -## Neovim Version - - -``` -``` diff --git a/AppData/Local/nvim/.github/pull_request_template.md b/AppData/Local/nvim/.github/pull_request_template.md deleted file mode 100644 index f401c9f..0000000 --- a/AppData/Local/nvim/.github/pull_request_template.md +++ /dev/null @@ -1,8 +0,0 @@ -*************************************************************************** -**NOTE** -Please verify that the `base repository` above has the intended destination! -Github by default opens Pull Requests against the parent of a forked repository. -If this is your personal fork and you didn't intend to open a PR for contribution -to the original project then adjust the `base repository` accordingly. -************************************************************************** - diff --git a/AppData/Local/nvim/.github/workflows/stylua.yml b/AppData/Local/nvim/.github/workflows/stylua.yml deleted file mode 100644 index 75db6c3..0000000 --- a/AppData/Local/nvim/.github/workflows/stylua.yml +++ /dev/null @@ -1,21 +0,0 @@ -# Check Lua Formatting -name: Check Lua Formatting -on: pull_request_target - -jobs: - stylua-check: - if: github.repository == 'nvim-lua/kickstart.nvim' - name: Stylua Check - runs-on: ubuntu-latest - steps: - - name: Checkout Code - uses: actions/checkout@v2 - with: - ref: ${{ github.event.pull_request.head.sha }} - - name: Stylua Check - uses: JohnnyMorganz/stylua-action@v3 - with: - token: ${{ secrets.GITHUB_TOKEN }} - version: latest - args: --check . - diff --git a/AppData/Local/nvim/.gitignore b/AppData/Local/nvim/.gitignore deleted file mode 100644 index 005b535..0000000 --- a/AppData/Local/nvim/.gitignore +++ /dev/null @@ -1,7 +0,0 @@ -tags -test.sh -.luarc.json -nvim - -spell/ -lazy-lock.json diff --git a/AppData/Local/nvim/.stylua.toml b/AppData/Local/nvim/.stylua.toml deleted file mode 100644 index 139e939..0000000 --- a/AppData/Local/nvim/.stylua.toml +++ /dev/null @@ -1,6 +0,0 @@ -column_width = 160 -line_endings = "Unix" -indent_type = "Spaces" -indent_width = 2 -quote_style = "AutoPreferSingle" -call_parentheses = "None" diff --git a/AppData/Local/nvim/LICENSE.md b/AppData/Local/nvim/LICENSE.md deleted file mode 100644 index 9cf1062..0000000 --- a/AppData/Local/nvim/LICENSE.md +++ /dev/null @@ -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. diff --git a/AppData/Local/nvim/README.md b/AppData/Local/nvim/README.md deleted file mode 100644 index 8ace8b9..0000000 --- a/AppData/Local/nvim/README.md +++ /dev/null @@ -1,240 +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) -- 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//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 `` in the commands below - -
Linux and Mac - -```sh -git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME:-$HOME/.config}"/nvim -``` - -
- -
Windows - -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" -``` - -
- -### 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 - -
Windows with Microsoft C++ Build Tools and CMake -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' } -``` -
-
Windows with gcc/make using chocolatey -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 -``` -
-
WSL (Windows Subsystem for Linux) - -``` -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 -``` -
- -#### Linux Install -
Ubuntu Install Steps - -``` -sudo add-apt-repository ppa:neovim-ppa/unstable -y -sudo apt update -sudo apt install make gcc ripgrep unzip git xclip neovim -``` -
-
Debian Install Steps - -``` -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/ -``` -
-
Fedora Install Steps - -``` -sudo dnf install -y gcc make git ripgrep fd-find unzip neovim -``` -
- -
Arch Install Steps - -``` -sudo pacman -S --noconfirm --needed gcc make git ripgrep fd unzip neovim -``` -
- diff --git a/AppData/Local/nvim/doc/kickstart.txt b/AppData/Local/nvim/doc/kickstart.txt deleted file mode 100644 index cb87ac3..0000000 --- a/AppData/Local/nvim/doc/kickstart.txt +++ /dev/null @@ -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: diff --git a/AppData/Local/nvim/init.lua b/AppData/Local/nvim/init.lua index 0150b5c..7dbdb6f 100644 --- a/AppData/Local/nvim/init.lua +++ b/AppData/Local/nvim/init.lua @@ -1,18 +1,263 @@ -local azurePipelineFileGlobs = { - '/azure-pipeline*.y*l', - '/*.azure*', - 'Azure-Pipelines/**/*.y*l', - 'azure-pipelines/**/*.y*l', - 'Pipelines/*.y*l', +-- SECTION: Options +vim.o.number = true -- Show line numbers +vim.o.wrap = true -- Soft-wrap lines +vim.o.tabstop = 2 -- 2 space tab width +vim.o.shiftwidth = 2 -- 2 space tab width +vim.o.swapfile = false -- Disable swap files (annoying) +vim.o.undofile = true -- Enable undo between sessions +vim.o.mouse = 'a' -- Enable mouse support +vim.o.showmode = false -- Don't show mode in status bar +vim.o.inccommand = 'split' -- Preview replace commands inline +vim.o.scrolloff = 20 -- Scroll if cursor is X lines to edge +vim.o.confirm = true -- Add confirmation on some destructive actions +vim.o.ignorecase = true -- Case insensitive search +vim.o.smartcase = true -- Case sensitive when caps is used +vim.o.cursorline = true -- Highlight current line +vim.o.winborder = "single" -- Borders around popups like when you press leader for keybinds +vim.opt.signcolumn = +'yes' -- TEST: Prohibit layout shifting by always showing the sign column (left of line numbers), you should see an icon there on this row. +vim.o.updatetime = 250 -- Speed up the CursorHold autocmd event +vim.o.timeoutlen = 300 -- Speed up completion of key event +-- SECTION: Globals +vim.g.mapleader = ' ' -- Mapping leader to space. +vim.g.maplocalleader = ' ' -- Mapping leader to space. +vim.g.have_nerd_font = true -- Enable nerd font +-- SECTION: Lazy settings +-- INFO: Lines in this function will be executed after main event loop is free, prohibiting startup lag. +vim.schedule(function() + vim.opt.clipboard = 'unnamedplus' -- Share clipboard with system, comment if you want to keep it separate. +end) + +-- SECTION: Keybinds + +-- Source current file, helpful when editing this file. +vim.keymap.set('n', 'o', ':update :source') + +-- Restart vim completely, you can then press CTRL + o to go back to the last file you had open. +vim.keymap.set('n', 'r', ':restart') + +-- Lets you use ESC to stop highlighting text that you have searched with '/' +vim.keymap.set('n', '', 'nohlsearch') + +-- Format the current buffer using the active lsp +vim.keymap.set('n', 'f', vim.lsp.buf.format, { desc = "Format buffer" }) + +-- Start the file picker in different modes +vim.keymap.set('n', 'sf', function() + require('mini.pick').builtin.files() +end, { desc = "Search files" }) +vim.keymap.set('n', 'sg', ":Pick grep_live", { desc = "Search file contents" }) +vim.keymap.set('n', 'sh', ":Pick help", { desc = "Search help pages" }) +vim.keymap.set('n', 'sr', ":Pick resume", { desc = "Resume last search" }) +vim.keymap.set('n', 'sb', ":Pick buffers", { desc = "Search buffers" }) + +-- Get help with keybinds +vim.keymap.set('n', '?', ":WhichKey", { desc = "Show keybinds" }) + +-- File explorer +vim.keymap.set('n', '\\', ":Oil --float", { desc = "File explorer" }) + +-- SECTION: Install packages +vim.pack.add({ + 'https://github.com/catppuccin/nvim', -- color scheme + 'https://github.com/nvim-mini/mini.pick', -- File picker, grep + 'https://github.com/nvim-mini/mini.pairs', -- Auto create {}, (), [] - pairs etc. + 'https://github.com/nvim-mini/mini.notify', -- Popup notifications + 'https://github.com/nvim-mini/mini.completion', -- Autocomplete, needs snippets and icons + 'https://github.com/nvim-mini/mini.snippets', -- Snippets + 'https://github.com/nvim-mini/mini.icons', -- Icons + 'https://github.com/nvim-mini/mini.cursorword', -- Highlight word under cursor + 'https://github.com/nvim-mini/mini.hipatterns', -- Highlight todos and rgb colors + 'https://github.com/nvim-mini/mini.statusline', -- Statusline at the bottom + 'https://github.com/neovim/nvim-lspconfig', -- Language servers + 'https://github.com/mason-org/mason.nvim', -- LSP deps installer + 'https://github.com/mason-org/mason-lspconfig.nvim', -- Lets you install mason tooling using lsp names + 'https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim', -- Automatically install mason tooling + 'https://github.com/folke/lazydev.nvim', -- Automatically resolve vim api paths. + 'https://github.com/folke/which-key.nvim', -- Shortcut hints (bar at the bottom when pressing space) + 'https://github.com/nvim-lua/plenary.nvim', -- Helper lua functions, dep of todo-comments. + 'https://github.com/nvim-treesitter/nvim-treesitter', -- Syntax highlighting + 'https://github.com/stevearc/oil.nvim', -- File explorer +}) + +-- SECTION: Colorscheme +vim.cmd("colorscheme catppuccin-mocha") + +-- SECTION: General plugin setup + +-- Folke +require("lazydev").setup() + +local wk = require('which-key') +wk.setup() +wk.add({ + { 's', group = '[S]earch' }, + { 'o', group = 'Source current file', mode = { 'n' } }, +}) + + +-- require('todo-comments').setup({ +-- keywords = { +-- SECTION = { +-- icon = "󰚟 ", +-- color = "hint", +-- } +-- } +-- }) + +-- Mini +local MiniPicker = require('mini.pick').setup({ + source = { + show = require('mini.pick').default_show, + }, +}) + +require('mini.pairs').setup() +require('mini.notify').setup() +require('mini.icons').setup() +MiniIcons.tweak_lsp_kind() +require('mini.snippets').setup() +require('mini.completion').setup() +require('mini.cursorword').setup() +require('mini.hipatterns').setup({ + highlighters = { + todo = { pattern = '%f[%w]()TODO()%f[%W]', group = 'MiniHipatternsTodo' }, + section = { pattern = '%f[%w]()SECTION()%f[%W]', group = 'MiniHipatternsNote' }, + warning = { pattern = '%f[%w]()WARNING()%f[%W]', group = 'MiniHipatternsHack' }, + error = { pattern = '%f[%w]()ERROR()%f[%W]', group = 'MiniHipatternsTodo' }, + } +}) +require('mini.statusline').setup() +require('oil').setup() + +require('nvim-treesitter').setup({ + auto_install = true +}) +local vue_language_server_path = vim.fn.stdpath('data') .. + "/mason/packages/vue-language-server/node_modules/@vue/language-server" +local tsserver_filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' } +local vue_plugin = { + name = '@vue/typescript-plugin', + location = vue_language_server_path, + languages = { 'vue' }, + configNamespace = 'typescript', +} +local vtsls_config = { + settings = { + vtsls = { + tsserver = { + globalPlugins = { + vue_plugin, + }, + }, + }, + }, + filetypes = tsserver_filetypes, } -require 'config.mappings' -require 'config.encodings' -require 'config.options' -require 'config.autocmd' -require 'config.globals' +local ts_ls_config = { + init_options = { + plugins = { + vue_plugin, + }, + }, + filetypes = tsserver_filetypes, +} +local vue_ls_config = {} +-- If you are on most recent `nvim-lspconfig` +-- nvim 0.11 or above +vim.lsp.config('vtsls', vtsls_config) +vim.lsp.config('vue_ls', vue_ls_config) +vim.lsp.config('ts_ls', ts_ls_config) -require 'plugins.lazy' +-- LSP Language Server +require("mason").setup() +require("mason-lspconfig").setup({ + -- Install lsp deps here + ensure_installed = { + 'lua_ls', + 'ts_ls', + 'vue_ls', + 'ansiblels', + 'eslint', + }, + automatic_enable = { + exclude = { 'ts_ls', 'vue_ls' } + } +}) +require("mason-tool-installer").setup({ + -- Install deps of lsp deps here + ensure_installed = { + 'tree-sitter-cli', + 'markdownlint', + 'vue-language-server' + } +}) +vim.lsp.enable({ 'ts_ls', 'vue_ls' }) --- The line beneath this is called `modeline`. See `:help modeline` --- vim: ts=2 sts=2 sw=2 et + +-- SECTION: Helpers +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 + +-- SECTION: Autocommands +vim.api.nvim_create_autocmd('TextYankPost', { + desc = 'Highlight when yanking (copying) text', + group = vim.api.nvim_create_augroup('highlight-yank', { clear = true }), + callback = function() + vim.highlight.on_yank() + end, +}) +-- Actions on LspAttach +vim.api.nvim_create_autocmd('LspAttach', { + group = vim.api.nvim_create_augroup('my.lsp', {}), + callback = function(ev) + local client = assert(vim.lsp.get_client_by_id(ev.data.client_id)) + + -- Auto-format ("lint") on save. + -- Usually not needed if server supports "textDocument/willSaveWaitUntil". + -- if not client:supports_method('textDocument/willSaveWaitUntil') + -- and client:supports_method('textDocument/formatting') then + -- vim.api.nvim_create_autocmd('BufWritePre', { + -- group = vim.api.nvim_create_augroup('my.lsp', { clear = false }), + -- buffer = ev.buf, + -- callback = function() + -- vim.lsp.buf.format({ bufnr = ev.buf, id = client.id, timeout_ms = 1000 }) + -- end, + -- }) + -- end + + -- Swap out the icons in the leftmost column and show inlay hints + 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, + }, + } + end, +}) diff --git a/AppData/Local/nvim/lazy-lock.json b/AppData/Local/nvim/lazy-lock.json deleted file mode 100644 index c92cabb..0000000 --- a/AppData/Local/nvim/lazy-lock.json +++ /dev/null @@ -1,59 +0,0 @@ -{ - "FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" }, - "LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" }, - "MarkdownTable.nvim": { "branch": "main", "commit": "9430386c9332033d21465ddb7ae3996a463f4300" }, - "azure-functions.nvim": { "branch": "main", "commit": "6b368d5d5b1c7e205085a7e1b1c7eef3004a550c" }, - "baleia.nvim": { "branch": "main", "commit": "880e97c02edf3148ba2bdc6305ac03eb3c3711e0" }, - "blink.cmp": { "branch": "main", "commit": "4b18c32adef2898f95cdef6192cbd5796c1a332d" }, - "catppuccin": { "branch": "main", "commit": "0a5de4da015a175f416d6ef1eda84661623e0500" }, - "conform.nvim": { "branch": "master", "commit": "c2526f1cde528a66e086ab1668e996d162c75f4f" }, - "fidget.nvim": { "branch": "main", "commit": "7fa433a83118a70fe24c1ce88d5f0bd3453c0970" }, - "flash.nvim": { "branch": "main", "commit": "fcea7ff883235d9024dc41e638f164a450c14ca2" }, - "friendly-snippets": { "branch": "main", "commit": "6cd7280adead7f586db6fccbd15d2cac7e2188b9" }, - "gitsigns.nvim": { "branch": "main", "commit": "9f3c6dd7868bcc116e9c1c1929ce063b978fa519" }, - "harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" }, - "indent-blankline.nvim": { "branch": "master", "commit": "d28a3f70721c79e3c5f6693057ae929f3d9c0a03" }, - "lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" }, - "lazydev.nvim": { "branch": "main", "commit": "5231c62aa83c2f8dc8e7ba957aa77098cda1257d" }, - "lualine.nvim": { "branch": "master", "commit": "47f91c416daef12db467145e16bed5bbfe00add8" }, - "markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" }, - "markview.nvim": { "branch": "main", "commit": "9e852c299351fc2110e763edc7fc899358ee112e" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "21c2a84ce368e99b18f52ab348c4c02c32c02fcf" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "9a10e096703966335bd5c46c8c875d5b0690dade" }, - "mason-tool-installer.nvim": { "branch": "main", "commit": "443f1ef8b5e6bf47045cb2217b6f748a223cf7dc" }, - "mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" }, - "mini.nvim": { "branch": "main", "commit": "ca9adcfc4e796b292cc9072f4952318ef5a7f6c0" }, - "neo-tree.nvim": { "branch": "main", "commit": "f3df514fff2bdd4318127c40470984137f87b62e" }, - "neotest": { "branch": "master", "commit": "deadfb1af5ce458742671ad3a013acb9a6b41178" }, - "neotest-python": { "branch": "master", "commit": "b0d3a861bd85689d8ed73f0590c47963a7eb1bf9" }, - "nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" }, - "nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" }, - "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-dap": { "branch": "master", "commit": "db321947bb289a2d4d76a32e76e4d2bd6103d7df" }, - "nvim-dap-cs": { "branch": "main", "commit": "16e5debe8cb7fb73c8799d20969ee00883586602" }, - "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" }, - "nvim-dap-powershell": { "branch": "master", "commit": "0d41457342a98da1fdf5707aae6573a57a949025" }, - "nvim-dap-python": { "branch": "master", "commit": "1808458eba2b18f178f990e01376941a42c7f93b" }, - "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, - "nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" }, - "nvim-dap-vscode-js": { "branch": "main", "commit": "03bd29672d7fab5e515fc8469b7d07cc5994bbf6" }, - "nvim-dbee": { "branch": "master", "commit": "dda517694889a5d238d7aa407403984da9f80cc0" }, - "nvim-lint": { "branch": "master", "commit": "a3d17105a79fc12055c2a0d732665d9c2b1c2dc3" }, - "nvim-lspconfig": { "branch": "master", "commit": "44acfe887d4056f704ccc4f17513ed41c9e2b2e6" }, - "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, - "nvim-notify": { "branch": "master", "commit": "8701bece920b38ea289b457f902e2ad184131a5d" }, - "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, - "nvim-web-devicons": { "branch": "master", "commit": "746ffbb17975ebd6c40142362eee1b0249969c5c" }, - "pastify.nvim": { "branch": "main", "commit": "4a1d1e03c3ae725ee4af796deca8c7c169ef626e" }, - "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, - "pomo.nvim": { "branch": "main", "commit": "7e06e5221d8d1e596a0ab29dd4d7fcee5f3cd05a" }, - "roslyn.nvim": { "branch": "main", "commit": "56c421a02451cc61c8d63cfe9dc2079453e1ea6d" }, - "schemastore.nvim": { "branch": "main", "commit": "55ca969ceed5209d62cbf4c20cef023ff188b6c5" }, - "snacks.nvim": { "branch": "main", "commit": "fe7cfe9800a182274d0f868a74b7263b8c0c020b" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "6fea601bd2b694c6f2ae08a6c6fab14930c60e2c" }, - "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, - "telescope.nvim": { "branch": "master", "commit": "5255aa27c422de944791318024167ad5d40aad20" }, - "todo-comments.nvim": { "branch": "main", "commit": "31e3c38ce9b29781e4422fc0322eb0a21f4e8668" }, - "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" }, - "which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" } -} diff --git a/AppData/Local/nvim/lua/config/autocmd.lua b/AppData/Local/nvim/lua/config/autocmd.lua deleted file mode 100644 index 3098f6d..0000000 --- a/AppData/Local/nvim/lua/config/autocmd.lua +++ /dev/null @@ -1,35 +0,0 @@ --- vim: ts=2 sts=2 sw=2 et --- [[ Basic Autocommands ]] --- See `:help lua-guide-autocommands` - --- Highlight when yanking (copying) text --- Try it with `yap` in normal mode --- See `:help vim.highlight.on_yank()` -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.highlight.on_yank() - end, -}) - --- NOTE: Disabeling the built in cmp in favor of blink --- vim.api.nvim_create_autocmd('LspAttach', { --- callback = function(ev) --- local client = vim.lsp.get_client_by_id(ev.data.client_id) --- if client ~= nil and client:supports_method 'textDocument/completion' then --- vim.lsp.completion.enable(true, client.id, ev.buf, { autotrigger = true }) --- end --- end, --- }) - --- Autoindent json by 2 spaces -vim.api.nvim_create_autocmd('FileType', { - pattern = { 'json', 'xml' }, - callback = function() - vim.bo.shiftwidth = 2 - vim.bo.tabstop = 2 - vim.bo.softtabstop = 2 - vim.bo.expandtab = true - end, -}) diff --git a/AppData/Local/nvim/lua/config/encodings.lua b/AppData/Local/nvim/lua/config/encodings.lua deleted file mode 100644 index c6a0a1b..0000000 --- a/AppData/Local/nvim/lua/config/encodings.lua +++ /dev/null @@ -1,5 +0,0 @@ --- vim: ts=2 sts=2 sw=2 et --- ensure UTF-8 everywhere by default -vim.opt.encoding = 'utf-8' -vim.opt.fileencoding = 'utf-8' -vim.opt.fileencodings = { 'utf-8' } diff --git a/AppData/Local/nvim/lua/config/globals.lua b/AppData/Local/nvim/lua/config/globals.lua deleted file mode 100644 index 39a253f..0000000 --- a/AppData/Local/nvim/lua/config/globals.lua +++ /dev/null @@ -1,3 +0,0 @@ --- vim: ts=2 sts=2 sw=2 et --- Set to true if you have a Nerd Font installed and selected in the terminal -vim.g.have_nerd_font = true diff --git a/AppData/Local/nvim/lua/config/mappings.lua b/AppData/Local/nvim/lua/config/mappings.lua deleted file mode 100644 index 4ef094b..0000000 --- a/AppData/Local/nvim/lua/config/mappings.lua +++ /dev/null @@ -1,57 +0,0 @@ --- vim: ts=2 sts=2 sw=2 et --- Set as the leader key --- See `:help mapleader` --- NOTE: Must happen before plugins are loaded (otherwise wrong leader will be used) -vim.g.mapleader = ' ' -vim.g.maplocalleader = ' ' - --- [[ Basic Keymaps ]] --- See `:help vim.keymap.set()` - --- Clear highlights on search when pressing in normal mode --- See `:help hlsearch` -vim.keymap.set('n', '', 'nohlsearch') - --- Diagnostic keymaps --- desc here is not the description in the leader menu, good to know. -vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) - --- TODO: Test this --- --- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier --- for people to discover. Otherwise, you normally need to press , which --- is not what someone will guess without a bit more experience. --- --- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping --- or just use to exit terminal mode -vim.keymap.set('t', '', '', { desc = 'Exit terminal mode' }) - --- TODO: Enable this when either keybind to colemak are made, or going back to qwerty. Until then arrows are fine. --- --- TIP: Disable arrow keys in normal mode --- vim.keymap.set('n', '', 'echo "Use h to move!!"') --- vim.keymap.set('n', '', 'echo "Use l to move!!"') --- vim.keymap.set('n', '', 'echo "Use k to move!!"') --- vim.keymap.set('n', '', 'echo "Use j to move!!"') - --- Keybinds to make split navigation easier. --- Use CTRL+ to switch between windows --- --- See `:help wincmd` for a list of all window commands -vim.keymap.set('n', '', '', { desc = 'Move focus to the left window' }) -vim.keymap.set('n', '', '', { desc = 'Move focus to the right window' }) -vim.keymap.set('n', '', '', { desc = 'Move focus to the lower window' }) -vim.keymap.set('n', '', '', { desc = 'Move focus to the upper window' }) --- TODO: Test this --- --- NOTE: Some terminals have colliding keymaps or are not able to send distinct keycodes --- vim.keymap.set("n", "", "H", { desc = "Move window to the left" }) --- vim.keymap.set("n", "", "L", { desc = "Move window to the right" }) --- vim.keymap.set("n", "", "J", { desc = "Move window to the lower" }) --- vim.keymap.set("n", "", "K", { desc = "Move window to the upper" }) - --- Keymap to reload config -vim.keymap.set('n', 'rr', function() - dofile(vim.env.MYVIMRC) - print 'Reloaded init.lua' -end, { desc = 'Reload init.lua' }) diff --git a/AppData/Local/nvim/lua/config/options.lua b/AppData/Local/nvim/lua/config/options.lua deleted file mode 100644 index a828d61..0000000 --- a/AppData/Local/nvim/lua/config/options.lua +++ /dev/null @@ -1,79 +0,0 @@ --- vim: ts=2 sts=2 sw=2 et --- [[ Setting options ]] --- See `:help vim.opt` --- For more options, you can see `:help option-list` - --- Make line numbers default -vim.opt.number = true --- You can also add relative line numbers, to help with jumping. -vim.opt.relativenumber = false - --- Enable mouse mode, can be useful for resizing splits for example! -vim.opt.mouse = 'a' - --- Don't show the mode, since it's already in the status line -vim.opt.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.opt.clipboard = 'unnamedplus' -end) - --- Enable break indent -vim.opt.breakindent = true - --- Save undo history -vim.opt.undofile = true -vim.opt.swapfile = false -vim.opt.writebackup = false -vim.opt.backup = false -vim.opt.autoread = true -vim.opt.autowrite = false -vim.opt.autochdir = false - --- Case-insensitive searching UNLESS \C or one or more capital letters in the search term -vim.opt.ignorecase = true -vim.opt.smartcase = true - --- Keep signcolumn on by default -vim.opt.signcolumn = 'yes' - --- Decrease update time -vim.opt.updatetime = 250 - --- Decrease mapped sequence wait time -vim.opt.timeoutlen = 300 - --- Configure how new splits should be opened -vim.opt.splitright = true -vim.opt.splitbelow = true - --- Sets how neovim will display certain whitespace characters in the editor. --- See `:help 'list'` --- and `:help 'listchars'` -vim.opt.list = true -vim.opt.listchars = { tab = '» ', trail = '·', nbsp = '␣' } - --- Preview substitutions live, as you type! -vim.opt.inccommand = 'split' - --- Show which line your cursor is on -vim.opt.cursorline = true - --- Minimal number of screen lines to keep above and below the cursor. -vim.opt.scrolloff = 10 - --- 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.opt.confirm = true - --- set LF instead of CRLF -vim.opt.fileformats = { 'unix', 'dos' } -vim.api.nvim_create_autocmd({ 'BufRead', 'BufNewFile' }, { - pattern = { '*.sh', '*.xml' }, - command = 'setlocal ff=unix', -}) diff --git a/AppData/Local/nvim/lua/kickstart/health.lua b/AppData/Local/nvim/lua/kickstart/health.lua deleted file mode 100644 index b59d086..0000000 --- a/AppData/Local/nvim/lua/kickstart/health.lua +++ /dev/null @@ -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, -} diff --git a/AppData/Local/nvim/lua/kickstart/plugins/autopairs.lua b/AppData/Local/nvim/lua/kickstart/plugins/autopairs.lua deleted file mode 100644 index 386d392..0000000 --- a/AppData/Local/nvim/lua/kickstart/plugins/autopairs.lua +++ /dev/null @@ -1,8 +0,0 @@ --- autopairs --- https://github.com/windwp/nvim-autopairs - -return { - 'windwp/nvim-autopairs', - event = 'InsertEnter', - opts = {}, -} diff --git a/AppData/Local/nvim/lua/kickstart/plugins/db.lua b/AppData/Local/nvim/lua/kickstart/plugins/db.lua deleted file mode 100644 index 5dd257e..0000000 --- a/AppData/Local/nvim/lua/kickstart/plugins/db.lua +++ /dev/null @@ -1,17 +0,0 @@ -return { - { - 'kndndrj/nvim-dbee', - dependencies = { - 'MunifTanjim/nui.nvim', - }, - build = function() - -- Install tries to automatically detect the install method. - -- if it fails, try calling it with one of these parameters: - -- "curl", "wget", "bitsadmin", "go" - require('dbee').install() - end, - config = function() - require('dbee').setup(--[[optional config]]) - end, - }, -} diff --git a/AppData/Local/nvim/lua/kickstart/plugins/debug.lua b/AppData/Local/nvim/lua/kickstart/plugins/debug.lua deleted file mode 100644 index 26d5190..0000000 --- a/AppData/Local/nvim/lua/kickstart/plugins/debug.lua +++ /dev/null @@ -1,207 +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 - 'williamboman/mason.nvim', - 'jay-babu/mason-nvim-dap.nvim', - - -- Add your own debuggers here - -- Go debugging - 'leoluz/nvim-dap-go', -- came pre-packaged with this - -- Python debugging - 'mfussenegger/nvim-dap-python', - -- C# debugging - 'nicholasmata/nvim-dap-cs', - -- Javascript - 'mxsdev/nvim-dap-vscode-js', - - -- Other stuff - -- adds inline variables - 'theHamsta/nvim-dap-virtual-text', - { - 'kaiwalter/azure-functions.nvim', - config = function() - require('azure-functions').setup { - compress_log = true, - } - end, - }, - { - 'Willem-J-an/nvim-dap-powershell', - dependencies = { - 'nvim-lua/plenary.nvim', - 'mfussenegger/nvim-dap', - 'rcarriga/nvim-dap-ui', - { - 'm00qek/baleia.nvim', - lazy = true, - tag = 'v1.4.0', - }, - }, - config = function() - require('dap-powershell').setup() - end, - }, - }, - keys = { - -- Basic debugging keymaps, feel free to change to your liking! - { - '', - function() - require('dap').continue() - end, - desc = 'Debug: Start/Continue', - }, - { - '', - function() - require('dap').step_into() - end, - desc = 'Debug: Step Into', - }, - { - '', - function() - require('dap').step_over() - end, - desc = 'Debug: Step Over', - }, - { - '', - function() - require('dap').step_out() - end, - desc = 'Debug: Step Out', - }, - { - 'b', - function() - require('dap').toggle_breakpoint() - end, - desc = 'Debug: Toggle Breakpoint', - }, - { - 'B', - function() - require('dap').set_breakpoint(vim.fn.input 'Breakpoint condition: ') - end, - desc = 'Debug: Set Breakpoint', - }, - { - '', - function() - require('dap').disconnect { terminate = true } - end, - desc = 'Debug: See last session result.', - }, - -- Toggle to see last session result. Without this, you can't see session output in case of unhandled exception. - { - '', - function() - require('dapui').toggle() - end, - desc = 'Debug: See last session result.', - }, - { - 'de', - function() - require('dapui').eval(vim.fn.expand '') - end, - desc = 'Evaluate expression under cursor', - }, - }, - 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', - 'debugpy', - }, - } - - -- 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, - }, - } - -- Setup python debugging - require('dap-python').setup 'python' - -- Setup inline variables - require('nvim-dap-virtual-text').setup { - virt_text_pos = 'inline', - virt_lines = true, - highlight_changed_variables = true, - all_frames = false, - } - end, -} diff --git a/AppData/Local/nvim/lua/kickstart/plugins/gitsigns.lua b/AppData/Local/nvim/lua/kickstart/plugins/gitsigns.lua deleted file mode 100644 index cbbd22d..0000000 --- a/AppData/Local/nvim/lua/kickstart/plugins/gitsigns.lua +++ /dev/null @@ -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', 'hs', function() - gitsigns.stage_hunk { vim.fn.line '.', vim.fn.line 'v' } - end, { desc = 'git [s]tage hunk' }) - map('v', 'hr', function() - gitsigns.reset_hunk { vim.fn.line '.', vim.fn.line 'v' } - end, { desc = 'git [r]eset hunk' }) - -- normal mode - map('n', 'hs', gitsigns.stage_hunk, { desc = 'git [s]tage hunk' }) - map('n', 'hr', gitsigns.reset_hunk, { desc = 'git [r]eset hunk' }) - map('n', 'hS', gitsigns.stage_buffer, { desc = 'git [S]tage buffer' }) - map('n', 'hu', gitsigns.stage_hunk, { desc = 'git [u]ndo stage hunk' }) - map('n', 'hR', gitsigns.reset_buffer, { desc = 'git [R]eset buffer' }) - map('n', 'hp', gitsigns.preview_hunk, { desc = 'git [p]review hunk' }) - map('n', 'hb', gitsigns.blame_line, { desc = 'git [b]lame line' }) - map('n', 'hd', gitsigns.diffthis, { desc = 'git [d]iff against index' }) - map('n', 'hD', function() - gitsigns.diffthis '@' - end, { desc = 'git [D]iff against last commit' }) - -- Toggles - map('n', 'tb', gitsigns.toggle_current_line_blame, { desc = '[T]oggle git show [b]lame line' }) - map('n', 'tD', gitsigns.preview_hunk_inline, { desc = '[T]oggle git show [D]eleted' }) - end, - }, - }, -} diff --git a/AppData/Local/nvim/lua/kickstart/plugins/indent_line.lua b/AppData/Local/nvim/lua/kickstart/plugins/indent_line.lua deleted file mode 100644 index ed7f269..0000000 --- a/AppData/Local/nvim/lua/kickstart/plugins/indent_line.lua +++ /dev/null @@ -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 = {}, - }, -} diff --git a/AppData/Local/nvim/lua/kickstart/plugins/lint.lua b/AppData/Local/nvim/lua/kickstart/plugins/lint.lua deleted file mode 100644 index e4b97ed..0000000 --- a/AppData/Local/nvim/lua/kickstart/plugins/lint.lua +++ /dev/null @@ -1,63 +0,0 @@ -return { - - { -- Linting - 'mfussenegger/nvim-lint', - event = { 'BufReadPre', 'BufNewFile' }, - config = function() - local lint = require 'lint' - lint.linters_by_ft = { - markdown = { 'markdownlint' }, - -- javascript = { 'eslint_d' }, - -- typescript = { 'eslint_d' }, - -- vue = { 'eslint_d' }, - } - - -- 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.opt_local.modifiable:get() then - -- lint.try_lint() - -- end - -- end, - -- }) - end, - }, -} diff --git a/AppData/Local/nvim/lua/kickstart/plugins/neo-tree.lua b/AppData/Local/nvim/lua/kickstart/plugins/neo-tree.lua deleted file mode 100644 index aa707d9..0000000 --- a/AppData/Local/nvim/lua/kickstart/plugins/neo-tree.lua +++ /dev/null @@ -1,46 +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', - }, - cmd = 'Neotree', - keys = { - { '\\', ':Neotree toggle', desc = 'NeoTree reveal', silent = true }, - }, - opts = { - event_handlers = { - { - event = 'file_open_requested', - handler = function() - vim.cmd 'Neotree close' - end, - }, - }, - filesystem = { - follow_current_file = { - enabled = true, - }, - filtered_items = { - always_show = { - '.gitignore', - '.gitattributes', - }, - always_show_by_pattern = { - '.gitlab*', - '*.env', - }, - }, - window = { - mappings = { - ['\\'] = 'close_window', - }, - }, - }, - }, -} diff --git a/AppData/Local/nvim/lua/kickstart/plugins/pastify.lua b/AppData/Local/nvim/lua/kickstart/plugins/pastify.lua deleted file mode 100644 index 175461f..0000000 --- a/AppData/Local/nvim/lua/kickstart/plugins/pastify.lua +++ /dev/null @@ -1,32 +0,0 @@ -vim.api.nvim_set_keymap('v', 'p', ':PastifyAfter', { noremap = true, silent = true }) -vim.api.nvim_set_keymap('n', 'mp', ':PastifyAfter', { noremap = true, silent = true, desc = 'Paste image from clipboard after' }) -vim.api.nvim_set_keymap('n', 'mP', ':Pastify', { noremap = true, silent = true, desc = 'Paste image from clipboard' }) - -local function get_assets_dir() - -- Get the absolute path of the current buffer - local buf_path = vim.api.nvim_buf_get_name(0) - if buf_path == '' then - -- Fallback to current working directory if buffer has no file - buf_path = vim.loop.cwd() - end - - -- Extract directory name - local dir = vim.fn.fnamemodify(buf_path, ':p:h') - - -- Append "assets" - local assets_dir = dir .. '/assets' - - return assets_dir -end -return { - 'TobinPalmer/pastify.nvim', - cmd = { 'Pastify', 'PastifyAfter' }, - config = function() - require('pastify').setup { - opts = { - apikey = '', -- Needed if you want to save online. - local_path = get_assets_dir, - }, - } - end, -} diff --git a/AppData/Local/nvim/lua/plugins/blink.lua b/AppData/Local/nvim/lua/plugins/blink.lua deleted file mode 100644 index 8094f24..0000000 --- a/AppData/Local/nvim/lua/plugins/blink.lua +++ /dev/null @@ -1,125 +0,0 @@ -return { - { -- Autocompletion - 'saghen/blink.cmp', - event = 'VimEnter', - version = '1.*', - dependencies = { - -- Copilot blink integration - --'fang2hou/blink-copilot', - -- Snippet Engine - { - 'L3MON4D3/LuaSnip', - version = '2.*', - build = (function() - -- Build Step is needed for regex support in snippets. - -- This step is not supported in many windows environments. - -- Remove the below condition to re-enable on windows. - if vim.fn.has 'win32' == 1 or vim.fn.executable 'make' == 0 then - return - end - return 'make install_jsregexp' - end)(), - dependencies = { - -- `friendly-snippets` contains a variety of premade snippets. - -- See the README about individual language/framework/plugin snippets: - -- https://github.com/rafamadriz/friendly-snippets - { - 'rafamadriz/friendly-snippets', - config = function() - require('luasnip.loaders.from_vscode').lazy_load() - end, - }, - }, - opts = {}, - }, - 'folke/lazydev.nvim', - }, - --- @module 'blink.cmp' - --- @type blink.cmp.Config - opts = { - keymap = { - -- 'default' (recommended) for mappings similar to built-in completions - -- to accept ([y]es) the completion. - -- This will auto-import if your LSP supports it. - -- This will expand snippets if the LSP sent a snippet. - -- 'super-tab' for tab to accept - -- 'enter' for enter to accept - -- 'none' for no mappings - -- - -- For an understanding of why the 'default' preset is recommended, - -- you will need to read `:help ins-completion` - -- - -- No, but seriously. Please read `:help ins-completion`, it is really good! - -- - -- All presets have the following mappings: - -- /: move to right/left of your snippet expansion - -- : Open menu or open docs if already open - -- / or /: Select next/previous item - -- : Hide menu - -- : Toggle signature help - -- - -- See :h blink-cmp-config-keymap for defining your own keymap - preset = 'super-tab', - - -- For more advanced Luasnip keymaps (e.g. selecting choice nodes, expansion) see: - -- https://github.com/L3MON4D3/LuaSnip?tab=readme-ov-file#keymaps - }, - - appearance = { - -- 'mono' (default) for 'Nerd Font Mono' or 'normal' for 'Nerd Font' - -- Adjusts spacing to ensure icons are aligned - nerd_font_variant = 'mono', - }, - - completion = { - -- By default, you may press `` to show the documentation. - -- Optionally, set `auto_show = true` to show the documentation after a delay. - documentation = { - auto_show = true, - treesitter_highlighting = true, - window = { border = 'none' }, - auto_show_delay_ms = 0, - }, - accept = { create_undo_point = true, auto_brackets = { enabled = true } }, - ghost_text = { enabled = true }, - menu = { auto_show = true, enabled = true }, - }, - - sources = { - --default = { 'copilot', 'lsp', 'path', 'lazydev', 'snippets' }, - default = { 'lsp', 'path', 'lazydev', 'snippets' }, - providers = { - --copilot = { - -- name = 'copilot', - -- module = 'blink-copilot', - -- score_offset = 1000, - -- async = true, - -- max_items = 1, - --}, - lsp = { score_offset = 0 }, - -- Lazydev gives autocompletion for lua, imported libraries and ---@module "nvim-treesitter" statements - lazydev = { module = 'lazydev.integrations.blink', score_offset = 0, max_items = 5 }, - path = { score_offset = 0, max_items = 5, min_keyword_length = 2, async = true }, - snippets = { score_offset = -10, max_items = 5, min_keyword_length = 2, async = true }, - }, - }, - - snippets = { preset = 'luasnip' }, - - -- Blink.cmp includes an optional, recommended rust fuzzy matcher, - -- which automatically downloads a prebuilt binary when enabled. - -- - -- By default, we use the Lua implementation instead, but you may enable - -- the rust implementation via `'prefer_rust_with_warning'` - -- - -- See :h blink-cmp-config-fuzzy for more information - fuzzy = { implementation = 'lua' }, - - -- Shows a signature help window while you type arguments for a function - signature = { enabled = true }, - -- enable on commandline - cmdline = { enabled = true }, - }, - opts_extend = { 'sources.default' }, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/catppuccin.lua b/AppData/Local/nvim/lua/plugins/catppuccin.lua deleted file mode 100644 index 78b5f86..0000000 --- a/AppData/Local/nvim/lua/plugins/catppuccin.lua +++ /dev/null @@ -1,19 +0,0 @@ -return { - { -- You can easily change to a different colorscheme. - -- Change the name of the colorscheme plugin below, and then - -- change the command in the config to whatever the name of that colorscheme is. - -- - -- If you want to see what colorschemes are already installed, you can use `:Telescope colorscheme`. - 'catppuccin/nvim', - name = 'catppuccin', - priority = 1000, -- Make sure to load this before all the other start plugins. - config = function() - ---@diagnostic disable-next-line: missing-fields - require('catppuccin').setup { - flavour = 'mocha', - } - - vim.cmd.colorscheme 'catppuccin' - end, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/colorizer.lua b/AppData/Local/nvim/lua/plugins/colorizer.lua deleted file mode 100644 index 3c0f9bc..0000000 --- a/AppData/Local/nvim/lua/plugins/colorizer.lua +++ /dev/null @@ -1,11 +0,0 @@ -return { - { - 'norcalli/nvim-colorizer.lua', - opts = { - '*', - }, - config = function(_, opts) - require('colorizer').setup(opts) - end, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/conform.lua b/AppData/Local/nvim/lua/plugins/conform.lua deleted file mode 100644 index e0b6e75..0000000 --- a/AppData/Local/nvim/lua/plugins/conform.lua +++ /dev/null @@ -1,49 +0,0 @@ -return { - { -- Autoformat - 'stevearc/conform.nvim', - event = { 'BufWritePre' }, - cmd = { 'ConformInfo' }, - keys = { - { - 'f', - function() - require('conform').format { async = true, lsp_format = 'fallback' } - end, - mode = '', - desc = '[F]ormat buffer', - }, - }, - config = function() - local conform = require 'conform' - - conform.setup { - notify_on_error = false, - format_on_save = function(bufnr) - local disable_filetypes = { c = true, cpp = true, vue = true } - if disable_filetypes[vim.bo[bufnr].filetype] then - return nil - else - return { - timeout_ms = 500, - lsp_format = 'fallback', - } - end - end, - - formatters_by_ft = { - lua = { 'stylua' }, - --xml = { 'xmlformatter' }, -- USE CUSTOM FORMATTER - python = { 'black', 'isort' }, - json = { 'prettierd' }, - }, - } - - vim.api.nvim_create_autocmd('BufWritePre', { - pattern = '*', - callback = function(args) - require('conform').format { bufnr = args.buf, lsp_fallback = true } - end, - }) - end, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/flash.lua b/AppData/Local/nvim/lua/plugins/flash.lua deleted file mode 100644 index dd62a8c..0000000 --- a/AppData/Local/nvim/lua/plugins/flash.lua +++ /dev/null @@ -1,50 +0,0 @@ -return { - { - 'folke/flash.nvim', - event = 'VeryLazy', - ---@type Flash.Config - opts = {}, - keys = { - { - 's', - mode = { 'n', 'x', 'o' }, - function() - require('flash').jump() - end, - desc = 'Flash', - }, - { - 'S', - mode = { 'n', 'x', 'o' }, - function() - require('flash').treesitter() - end, - desc = 'Flash Treesitter', - }, - { - 'r', - mode = 'o', - function() - require('flash').remote() - end, - desc = 'Remote Flash', - }, - { - 'R', - mode = { 'o', 'x' }, - function() - require('flash').treesitter_search() - end, - desc = 'Treesitter Search', - }, - { - '', - mode = { 'c' }, - function() - require('flash').toggle() - end, - desc = 'Toggle Flash Search', - }, - }, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/gitsigns.lua b/AppData/Local/nvim/lua/plugins/gitsigns.lua deleted file mode 100644 index 0c0a7d9..0000000 --- a/AppData/Local/nvim/lua/plugins/gitsigns.lua +++ /dev/null @@ -1,18 +0,0 @@ -return { - -- Here is a more advanced example where we pass configuration - -- options to `gitsigns.nvim`. - -- - -- See `:help gitsigns` to understand what the configuration keys do - { -- 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 = '~' }, - }, - }, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/harpoon.lua b/AppData/Local/nvim/lua/plugins/harpoon.lua deleted file mode 100644 index dc5bf85..0000000 --- a/AppData/Local/nvim/lua/plugins/harpoon.lua +++ /dev/null @@ -1,40 +0,0 @@ -return { - { - 'ThePrimeagen/harpoon', - branch = 'harpoon2', - dependencies = { 'nvim-lua/plenary.nvim' }, - opts = {}, - config = function(_, opts) - local harpoon = require 'harpoon' - harpoon:setup(opts) - - vim.keymap.set('n', 'a', function() - harpoon:list():add() - end) - vim.keymap.set('n', '', function() - harpoon.ui:toggle_quick_menu(harpoon:list()) - end) - - vim.keymap.set('n', '', function() - harpoon:list():select(1) - end) - vim.keymap.set('n', '', function() - harpoon:list():select(2) - end) - vim.keymap.set('n', '', function() - harpoon:list():select(3) - end) - vim.keymap.set('n', '', function() - harpoon:list():select(4) - end) - - -- Toggle previous & next buffers stored within Harpoon list - vim.keymap.set('n', '', function() - harpoon:list():prev() - end) - vim.keymap.set('n', '', function() - harpoon:list():next() - end) - end, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/lazy.lua b/AppData/Local/nvim/lua/plugins/lazy.lua deleted file mode 100644 index a0ccfa2..0000000 --- a/AppData/Local/nvim/lua/plugins/lazy.lua +++ /dev/null @@ -1,77 +0,0 @@ --- vim: ts=2 sts=2 sw=2 et --- [[ Install `lazy.nvim` plugin manager ]] --- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info -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 - error('Error cloning lazy.nvim:\n' .. out) - end -end ---@diagnostic disable-next-line: undefined-field -vim.opt.rtp:prepend(lazypath) - --- [[ Configure and install plugins ]] --- --- To check the current status of your plugins, run --- :Lazy --- --- You can press `?` in this menu for help. Use `:q` to close the window --- --- To update plugins you can run --- :Lazy update --- --- NOTE: Here is where you install your plugins. -require('lazy').setup({ - require 'plugins.vim-sleuth', - require 'plugins.gitsigns', - require 'plugins.which-key', - require 'plugins.telescope', - require 'plugins.lazydev', - require 'plugins.nvim-lspconfig', - require 'plugins.conform', - require 'plugins.blink', - require 'plugins.catppuccin', - require 'plugins.todo-comments', - require 'plugins.nvim-treesitter', - require 'plugins.markdown-preview', - require 'plugins.markview', - require 'plugins.neotest', - require 'plugins.pomo', - require 'plugins.flash', - require 'plugins.harpoon', - require 'plugins.colorizer', - require 'plugins.lualine', - require 'plugins.nvim-treesitter-context', - require 'plugins.snacks', - - -- TODO: Move these next - require 'kickstart.plugins.debug', - require 'kickstart.plugins.indent_line', - require 'kickstart.plugins.lint', - require 'kickstart.plugins.autopairs', - require 'kickstart.plugins.neo-tree', - require 'kickstart.plugins.gitsigns', -- adds gitsigns recommend keymaps - require 'kickstart.plugins.pastify', - require 'kickstart.plugins.db', -}, { - 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 = '💤 ', - }, - }, -}) diff --git a/AppData/Local/nvim/lua/plugins/lazydev.lua b/AppData/Local/nvim/lua/plugins/lazydev.lua deleted file mode 100644 index 3f9cbd6..0000000 --- a/AppData/Local/nvim/lua/plugins/lazydev.lua +++ /dev/null @@ -1,14 +0,0 @@ -return { - { - -- `lazydev` configures Lua LSP for your Neovim config, runtime and plugins - -- used for completion, annotations and signatures of Neovim apis - 'folke/lazydev.nvim', - ft = 'lua', - opts = { - library = { - -- Load luvit types when the `vim.uv` word is found - { path = '${3rd}/luv/library', words = { 'vim%.uv' } }, - }, - }, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/lualine.lua b/AppData/Local/nvim/lua/plugins/lualine.lua deleted file mode 100644 index 46c9932..0000000 --- a/AppData/Local/nvim/lua/plugins/lualine.lua +++ /dev/null @@ -1,6 +0,0 @@ -return { - { - 'nvim-lualine/lualine.nvim', - dependencies = { 'nvim-tree/nvim-web-devicons' }, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/markdown-preview.lua b/AppData/Local/nvim/lua/plugins/markdown-preview.lua deleted file mode 100644 index e44d00c..0000000 --- a/AppData/Local/nvim/lua/plugins/markdown-preview.lua +++ /dev/null @@ -1,28 +0,0 @@ -return { - { - 'iamcco/markdown-preview.nvim', - cmd = { 'MarkdownPreviewToggle', 'MarkdownPreview', 'MarkdownPreviewStop' }, - ft = { 'markdown' }, - build = function(plugin) - if vim.fn.executable 'npx' then - vim.cmd('!cd ' .. plugin.dir .. ' && cd app && npx --yes yarn install') - else - vim.cmd [[Lazy load markdown-preview.nvim]] - vim.fn['mkdp#util#install']() - end - end, - init = function() - if vim.fn.executable 'npx' then - vim.g.mkdp_filetypes = { 'markdown' } - end - end, - keys = { - { - 'mb', - ft = 'markdown', - 'MarkdownPreviewToggle', - desc = 'Markdown [B]rowser Render', - }, - }, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/markview.lua b/AppData/Local/nvim/lua/plugins/markview.lua deleted file mode 100644 index 4250086..0000000 --- a/AppData/Local/nvim/lua/plugins/markview.lua +++ /dev/null @@ -1,11 +0,0 @@ --- For `plugins/markview.lua` users. -vim.api.nvim_set_keymap('n', 'mh', 'Markview HybridToggle', { desc = 'Toggles `hybrid mode` globally.' }) -vim.api.nvim_set_keymap('n', 'ml', 'Markview linewiseToggle', { desc = 'Toggles `line-wise` hybrid mode.' }) -vim.api.nvim_set_keymap('n', 'ms', 'Markview splitToggle', { desc = 'Toggles `splitview` for current buffer.' }) -return { - 'OXY2DEV/markview.nvim', - lazy = false, - - -- Completion for `blink.cmp` - dependencies = { 'saghen/blink.cmp' }, -} diff --git a/AppData/Local/nvim/lua/plugins/neotest.lua b/AppData/Local/nvim/lua/plugins/neotest.lua deleted file mode 100644 index 50a3ae9..0000000 --- a/AppData/Local/nvim/lua/plugins/neotest.lua +++ /dev/null @@ -1,53 +0,0 @@ -return { - { - 'nvim-neotest/neotest', - dependencies = { - 'nvim-lua/plenary.nvim', - 'antoinemadec/FixCursorHold.nvim', - 'nvim-neotest/neotest-python', - 'nvim-treesitter/nvim-treesitter', - }, - config = function() - local neotest = require 'neotest' - - neotest.setup { - adapters = { - require 'neotest-python' { - dap = { justMyCode = false }, - -- args = {}, - -- runner = 'pytest', - }, - }, - } - - -- Keymaps - vim.keymap.set('n', 'tr', function() - neotest.run.run() - end, { desc = 'Run nearest test' }) - - vim.keymap.set('n', 'tf', function() - neotest.run.run(vim.fn.expand '%') - end, { desc = 'Run tests in file' }) - - vim.keymap.set('n', 'td', function() - neotest.run.run { strategy = 'dap' } - end, { desc = 'Debug nearest test' }) - - vim.keymap.set('n', 'ts', function() - neotest.summary.toggle() - end, { desc = 'Toggle test summary' }) - - vim.keymap.set('n', 'to', function() - neotest.output.open { enter = true } - end, { desc = 'Show test output' }) - - vim.keymap.set('n', 'tO', function() - neotest.output_panel.toggle() - end, { desc = 'Toggle output panel' }) - - vim.keymap.set('n', 'tw', function() - neotest.watch.toggle(vim.fn.expand '%') - end, { desc = 'Toggle watch for file' }) - end, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/nvim-lspconfig.lua b/AppData/Local/nvim/lua/plugins/nvim-lspconfig.lua deleted file mode 100644 index 5202f69..0000000 --- a/AppData/Local/nvim/lua/plugins/nvim-lspconfig.lua +++ /dev/null @@ -1,303 +0,0 @@ --- Paths for working with vue -local vue_typescript_plugin_path = vim.fs.normalize '~/node_modules/@vue/typescript-plugin' -local vue_language_server_path = vim.fs.normalize(vim.fn.stdpath 'data' .. '/mason/packages/vue-language-server/node_modules/@vue/language-server') -return { - { - -- Main LSP Configuration - 'neovim/nvim-lspconfig', - dependencies = { - -- 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. - { - 'mason-org/mason.nvim', - opts = { - registries = { - 'github:mason-org/mason-registry', - 'github:Crashdummyy/mason-registry', - }, - }, - }, - { 'mason-org/mason-lspconfig.nvim', opts = {} }, - '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', - -- Roslyn - { 'seblyng/roslyn.nvim', ft = 'cs', opts = {} }, - -- SchemaStores for yamlls and jsonls - 'b0o/schemastore.nvim', - }, - config = function() - vim.api.nvim_create_autocmd('LspAttach', { - group = vim.api.nvim_create_augroup('kickstart-lsp-attach', { clear = true }), - callback = function(event) - local map = function(keys, func, desc, mode) - mode = mode or 'n' - vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc }) - end - - -- Rename the variable under your cursor. - -- Most Language Servers support renaming across files, etc. - map('grn', vim.lsp.buf.rename, '[R]e[n]ame') - - -- Execute a code action, usually your cursor needs to be on top of an error - -- or a suggestion from your LSP for this to activate. - map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' }) - - -- Find references for the word under your cursor. - map('grr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') - - -- Jump to the implementation of the word under your cursor. - -- Useful when your language has ways of declaring types without an actual implementation. - map('gri', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') - - -- Jump to the definition of the word under your cursor. - -- This is where a variable was first declared, or where a function is defined, etc. - -- To jump back, press . - map('grd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition') - - -- WARN: This is not Goto Definition, this is Goto Declaration. - -- For example, in C this would take you to the header. - 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('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, - }, - -- virtual_lines = true, - } - - local servers = { - vue_ls = {}, - vtsls = { - filetypes = { 'typescript', 'javascript', 'javascriptreact', 'typescriptreact', 'vue' }, - settings = { - typescript = { - format = { - enable = false, - }, - }, - vtsls = { - tsserver = { - globalPlugins = { - { - name = '@vue/typescript-plugin', - location = vue_language_server_path, - languages = { 'vue' }, - configNamespace = 'typescript', - }, - }, - }, - }, - }, - }, - eslint = { - flags = { debounce_text_changes = 500 }, - settings = { - codeActionOnSave = { - enable = true, - }, - }, - }, - html = {}, - cssls = {}, - jsonls = { - settings = { - json = { - schemas = require('schemastore').json.schemas { - extra = { - { - -- Can be found here: https://github.com/wraith13/vscode-schemas?tab=readme-ov-file - description = 'vscode launch.json schema', - fileMatch = '/.vscode/launch.json', - name = 'launch.json', - url = 'https://raw.githubusercontent.com/wraith13/vscode-schemas/refs/heads/master/en/latest/schemas/launch.json', - }, - }, - }, - validate = { enable = true }, - }, - }, - }, - lua_ls = { - settings = { - Lua = { - completion = { - callSnippet = 'Replace', - }, - }, - }, - }, - yamlls = { - settings = { - yaml = { - schemas = { - ['kubernetes'] = { '/*.manifest.yaml', '/*.k8s.yaml' }, - -- Azure pipelines support (azure_pipelines_ls not needed for syntax) - ['https://raw.githubusercontent.com/microsoft/azure-pipelines-vscode/master/service-schema.json'] = { - '/azure-pipeline*.y*l', - '/*.azure*', - 'Azure-Pipelines/**/*.y*l', - 'azure-pipelines/**/*.y*l', - 'Pipelines/*.y*l', - '/*.pipeline.yaml', - }, - }, - }, - }, - }, - lemminx = {}, - -- C# Csharp - roslyn = {}, - pylsp = { - settings = { - pylsp = { - plugins = { - pycodestyle = { - ignore = { 'E501', 'E503' }, -- ignore line length, let black formatter manage this, sometimes lines must be long, ignore cr before binary operator - }, - }, - }, - }, - }, - powershell_es = {}, - intelephense = {}, - bashls = {}, - docker_language_server = {}, - docker_compose_language_service = {}, - } - - -- 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 - 'vue-language-server', - 'eslint_d', -- Used in lint.lua - 'markdownlint', -- Used in lint.lua - 'xmlformatter', - 'isort', - 'black', - 'prettierd', - 'netcoredbg', -- Used in debug.lua - 'js-debug-adapter', -- Used in debug.lua - }) - require('mason-tool-installer').setup { ensure_installed = ensure_installed } - -- Installed LSPs are configured and enabled automatically with mason-lspconfig - -- The loop below is for overriding the default configuration of LSPs with the ones in the servers table - for server_name, config in pairs(servers) do - if config ~= nil then - vim.lsp.config(server_name, config) - end - vim.lsp.enable(server_name, true) - end - - -- NOTE: Some servers may require an old setup until they are updated. For the full list refer here: https://github.com/neovim/nvim-lspconfig/issues/3705 - -- These servers will have to be manually set up with require("lspconfig").server_name.setup{} - end, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/nvim-treesitter-context.lua b/AppData/Local/nvim/lua/plugins/nvim-treesitter-context.lua deleted file mode 100644 index b7d203d..0000000 --- a/AppData/Local/nvim/lua/plugins/nvim-treesitter-context.lua +++ /dev/null @@ -1,5 +0,0 @@ -return { - { - 'nvim-treesitter/nvim-treesitter-context', - }, -} diff --git a/AppData/Local/nvim/lua/plugins/nvim-treesitter.lua b/AppData/Local/nvim/lua/plugins/nvim-treesitter.lua deleted file mode 100644 index 78fa5bb..0000000 --- a/AppData/Local/nvim/lua/plugins/nvim-treesitter.lua +++ /dev/null @@ -1,28 +0,0 @@ -return { - { -- Highlight, edit, and navigate code - 'nvim-treesitter/nvim-treesitter', - branch = 'master', - 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 - }, -} diff --git a/AppData/Local/nvim/lua/plugins/pomo.lua b/AppData/Local/nvim/lua/plugins/pomo.lua deleted file mode 100644 index 1f00524..0000000 --- a/AppData/Local/nvim/lua/plugins/pomo.lua +++ /dev/null @@ -1,21 +0,0 @@ -vim.api.nvim_set_keymap('n', 'Tw', 'TimerStart 25m Work', { desc = '⏲️ Start 25m [w]ork timer' }) -vim.api.nvim_set_keymap('n', 'Tb', 'TimerStart 5m Break', { desc = '⏲️ Start 5m [b]reak time' }) -vim.api.nvim_set_keymap('n', 'TB', 'TimerStart 10m Break', { desc = '⏲️ Start 10m [B]reak time' }) -vim.api.nvim_set_keymap('n', 'Ts', 'TimerStop', { desc = '⏲️ [s]top timer' }) - -return { - { - 'epwalsh/pomo.nvim', -- https://github.com/epwalsh/pomo.nvim - version = '*', -- Recommended, use latest release instead of latest commit - lazy = true, - cmd = { 'TimerStart', 'TimerRepeat', 'TimerSession' }, - dependencies = { - -- Optional, but highly recommended if you want to use the "Default" timer - 'rcarriga/nvim-notify', - }, - opts = {}, - config = function(_, opts) - require('pomo').setup(opts) - end, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/snacks.lua b/AppData/Local/nvim/lua/plugins/snacks.lua deleted file mode 100644 index ba1c408..0000000 --- a/AppData/Local/nvim/lua/plugins/snacks.lua +++ /dev/null @@ -1,609 +0,0 @@ -return { - 'folke/snacks.nvim', - priority = 1000, - lazy = false, - ---@type snacks.Config - opts = { - animate = { enabled = false }, - bigfile = { enabled = true }, - dashboard = { - enabled = true, - preset = { - header = [[ -  - ████ ██████ █████ ██ - ███████████ █████  - █████████ ███████████████████ ███ ███████████ - █████████ ███ █████████████ █████ ██████████████ - █████████ ██████████ █████████ █████ █████ ████ █████ - ███████████ ███ ███ █████████ █████ █████ ████ █████ - ██████ █████████████████████ ████ █████ █████ ████ ██████ - ]], - }, - }, - explorer = { enabled = false }, - indent = { enabled = true }, - input = { enabled = false }, - notifier = { - enabled = false, - timeout = 3000, - }, - picker = { enabled = false }, - quickfile = { enabled = true }, - scope = { enabled = false }, - scroll = { enabled = false }, - statuscolumn = { enabled = true }, - words = { enabled = false }, - styles = { - notification = { - -- wo = { wrap = true } -- Wrap notifications - }, - }, - }, - keys = { - -- Top Pickers & Explorer - { - '', - function() - Snacks.picker.smart() - end, - desc = 'Smart Find Files', - }, - { - ',', - function() - Snacks.picker.buffers() - end, - desc = 'Buffers', - }, - { - '/', - function() - Snacks.picker.grep() - end, - desc = 'Grep', - }, - { - ':', - function() - Snacks.picker.command_history() - end, - desc = 'Command History', - }, - { - 'n', - function() - Snacks.picker.notifications() - end, - desc = 'Notification History', - }, - { - 'e', - function() - Snacks.explorer() - end, - desc = 'File Explorer', - }, - -- find - { - 'fb', - function() - Snacks.picker.buffers() - end, - desc = 'Buffers', - }, - { - 'fc', - function() - Snacks.picker.files { cwd = vim.fn.stdpath 'config' } - end, - desc = 'Find Config File', - }, - { - 'ff', - function() - Snacks.picker.files() - end, - desc = 'Find Files', - }, - { - 'fg', - function() - Snacks.picker.git_files() - end, - desc = 'Find Git Files', - }, - { - 'fp', - function() - Snacks.picker.projects() - end, - desc = 'Projects', - }, - { - 'fr', - function() - Snacks.picker.recent() - end, - desc = 'Recent', - }, - -- git - { - 'gb', - function() - Snacks.picker.git_branches() - end, - desc = 'Git Branches', - }, - { - 'gl', - function() - Snacks.picker.git_log() - end, - desc = 'Git Log', - }, - { - 'gL', - function() - Snacks.picker.git_log_line() - end, - desc = 'Git Log Line', - }, - { - 'gs', - function() - Snacks.picker.git_status() - end, - desc = 'Git Status', - }, - { - 'gS', - function() - Snacks.picker.git_stash() - end, - desc = 'Git Stash', - }, - { - 'gd', - function() - Snacks.picker.git_diff() - end, - desc = 'Git Diff (Hunks)', - }, - { - 'gf', - function() - Snacks.picker.git_log_file() - end, - desc = 'Git Log File', - }, - -- gh - { - 'gi', - function() - Snacks.picker.gh_issue() - end, - desc = 'GitHub Issues (open)', - }, - { - 'gI', - function() - Snacks.picker.gh_issue { state = 'all' } - end, - desc = 'GitHub Issues (all)', - }, - { - 'gp', - function() - Snacks.picker.gh_pr() - end, - desc = 'GitHub Pull Requests (open)', - }, - { - 'gP', - function() - Snacks.picker.gh_pr { state = 'all' } - end, - desc = 'GitHub Pull Requests (all)', - }, - -- Grep - { - 'sb', - function() - Snacks.picker.lines() - end, - desc = 'Buffer Lines', - }, - { - 'sB', - function() - Snacks.picker.grep_buffers() - end, - desc = 'Grep Open Buffers', - }, - { - 'sg', - function() - Snacks.picker.grep() - end, - desc = 'Grep', - }, - { - 'sw', - function() - Snacks.picker.grep_word() - end, - desc = 'Visual selection or word', - mode = { 'n', 'x' }, - }, - -- search - { - 's"', - function() - Snacks.picker.registers() - end, - desc = 'Registers', - }, - { - 's/', - function() - Snacks.picker.search_history() - end, - desc = 'Search History', - }, - { - 'sa', - function() - Snacks.picker.autocmds() - end, - desc = 'Autocmds', - }, - { - 'sb', - function() - Snacks.picker.lines() - end, - desc = 'Buffer Lines', - }, - { - 'sc', - function() - Snacks.picker.command_history() - end, - desc = 'Command History', - }, - { - 'sC', - function() - Snacks.picker.commands() - end, - desc = 'Commands', - }, - { - 'sd', - function() - Snacks.picker.diagnostics() - end, - desc = 'Diagnostics', - }, - { - 'sD', - function() - Snacks.picker.diagnostics_buffer() - end, - desc = 'Buffer Diagnostics', - }, - { - 'sh', - function() - Snacks.picker.help() - end, - desc = 'Help Pages', - }, - { - 'sH', - function() - Snacks.picker.highlights() - end, - desc = 'Highlights', - }, - { - 'si', - function() - Snacks.picker.icons() - end, - desc = 'Icons', - }, - { - 'sj', - function() - Snacks.picker.jumps() - end, - desc = 'Jumps', - }, - { - 'sk', - function() - Snacks.picker.keymaps() - end, - desc = 'Keymaps', - }, - { - 'sl', - function() - Snacks.picker.loclist() - end, - desc = 'Location List', - }, - { - 'sm', - function() - Snacks.picker.marks() - end, - desc = 'Marks', - }, - { - 'sM', - function() - Snacks.picker.man() - end, - desc = 'Man Pages', - }, - { - 'sp', - function() - Snacks.picker.lazy() - end, - desc = 'Search for Plugin Spec', - }, - { - 'sq', - function() - Snacks.picker.qflist() - end, - desc = 'Quickfix List', - }, - { - 'sR', - function() - Snacks.picker.resume() - end, - desc = 'Resume', - }, - { - 'su', - function() - Snacks.picker.undo() - end, - desc = 'Undo History', - }, - { - 'uC', - function() - Snacks.picker.colorschemes() - end, - desc = 'Colorschemes', - }, - -- LSP - { - 'gd', - function() - Snacks.picker.lsp_definitions() - end, - desc = 'Goto Definition', - }, - { - 'gD', - function() - Snacks.picker.lsp_declarations() - end, - desc = 'Goto Declaration', - }, - { - 'gr', - function() - Snacks.picker.lsp_references() - end, - nowait = true, - desc = 'References', - }, - { - 'gI', - function() - Snacks.picker.lsp_implementations() - end, - desc = 'Goto Implementation', - }, - { - 'gy', - function() - Snacks.picker.lsp_type_definitions() - end, - desc = 'Goto T[y]pe Definition', - }, - { - 'gai', - function() - Snacks.picker.lsp_incoming_calls() - end, - desc = 'C[a]lls Incoming', - }, - { - 'gao', - function() - Snacks.picker.lsp_outgoing_calls() - end, - desc = 'C[a]lls Outgoing', - }, - { - 'ss', - function() - Snacks.picker.lsp_symbols() - end, - desc = 'LSP Symbols', - }, - { - 'sS', - function() - Snacks.picker.lsp_workspace_symbols() - end, - desc = 'LSP Workspace Symbols', - }, - -- Other - { - 'z', - function() - Snacks.zen() - end, - desc = 'Toggle Zen Mode', - }, - { - 'Z', - function() - Snacks.zen.zoom() - end, - desc = 'Toggle Zoom', - }, - { - '.', - function() - Snacks.scratch() - end, - desc = 'Toggle Scratch Buffer', - }, - { - 'S', - function() - Snacks.scratch.select() - end, - desc = 'Select Scratch Buffer', - }, - { - 'n', - function() - Snacks.notifier.show_history() - end, - desc = 'Notification History', - }, - { - 'bd', - function() - Snacks.bufdelete() - end, - desc = 'Delete Buffer', - }, - { - 'cR', - function() - Snacks.rename.rename_file() - end, - desc = 'Rename File', - }, - { - 'gB', - function() - Snacks.gitbrowse() - end, - desc = 'Git Browse', - mode = { 'n', 'v' }, - }, - { - 'gg', - function() - Snacks.lazygit() - end, - desc = 'Lazygit', - }, - { - 'un', - function() - Snacks.notifier.hide() - end, - desc = 'Dismiss All Notifications', - }, - { - '', - function() - Snacks.terminal() - end, - desc = 'Toggle Terminal', - }, - { - '', - function() - Snacks.terminal() - end, - desc = 'which_key_ignore', - }, - { - ']]', - function() - Snacks.words.jump(vim.v.count1) - end, - desc = 'Next Reference', - mode = { 'n', 't' }, - }, - { - '[[', - function() - Snacks.words.jump(-vim.v.count1) - end, - desc = 'Prev Reference', - mode = { 'n', 't' }, - }, - { - 'N', - desc = 'Neovim News', - function() - Snacks.win { - file = vim.api.nvim_get_runtime_file('doc/news.txt', false)[1], - width = 0.6, - height = 0.6, - wo = { - spell = false, - wrap = false, - signcolumn = 'yes', - statuscolumn = ' ', - conceallevel = 3, - }, - } - end, - }, - }, - init = function() - vim.api.nvim_create_autocmd('User', { - pattern = 'VeryLazy', - callback = function() - -- Setup some globals for debugging (lazy-loaded) - _G.dd = function(...) - Snacks.debug.inspect(...) - end - _G.bt = function() - Snacks.debug.backtrace() - end - - -- Override print to use snacks for `:=` command - if vim.fn.has 'nvim-0.11' == 1 then - vim._print = function(_, ...) - dd(...) - end - else - vim.print = _G.dd - end - - -- Create some toggle mappings - Snacks.toggle.option('spell', { name = 'Spelling' }):map 'us' - Snacks.toggle.option('wrap', { name = 'Wrap' }):map 'uw' - Snacks.toggle.option('relativenumber', { name = 'Relative Number' }):map 'uL' - Snacks.toggle.diagnostics():map 'ud' - Snacks.toggle.line_number():map 'ul' - Snacks.toggle.option('conceallevel', { off = 0, on = vim.o.conceallevel > 0 and vim.o.conceallevel or 2 }):map 'uc' - Snacks.toggle.treesitter():map 'uT' - Snacks.toggle.option('background', { off = 'light', on = 'dark', name = 'Dark Background' }):map 'ub' - Snacks.toggle.inlay_hints():map 'uh' - Snacks.toggle.indent():map 'ug' - Snacks.toggle.dim():map 'uD' - end, - }) - end, -} diff --git a/AppData/Local/nvim/lua/plugins/telescope.lua b/AppData/Local/nvim/lua/plugins/telescope.lua deleted file mode 100644 index 3e8a859..0000000 --- a/AppData/Local/nvim/lua/plugins/telescope.lua +++ /dev/null @@ -1,90 +0,0 @@ -return { - { -- Fuzzy Finder (files, lsp, etc) - 'nvim-telescope/telescope.nvim', - event = 'VimEnter', - dependencies = { - 'nvim-lua/plenary.nvim', - { -- If encountering errors, see telescope-fzf-native README for installation instructions - 'nvim-telescope/telescope-fzf-native.nvim', - - -- `build` is used to run some command when the plugin is installed/updated. - -- This is only run then, not every time Neovim starts up. - build = 'make', - - -- `cond` is a condition used to determine whether this plugin should be - -- installed and loaded. - cond = function() - return vim.fn.executable 'make' == 1 - end, - }, - { 'nvim-telescope/telescope-ui-select.nvim' }, - - -- Useful for getting pretty icons, but requires a Nerd Font. - { 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font }, - }, - config = function() - require('telescope').setup { - extensions = { - ['ui-select'] = { - require('telescope.themes').get_dropdown(), - }, - }, - defaults = { - file_ignore_patterns = { - -- C# - 'bin\\', - 'obj\\', - '.vs\\', - 'packages\\', - -- git - '.git', - -- node - 'node_modules\\', - -- Litium - 'Files\\', - }, - }, - } - - -- Enable Telescope extensions if they are installed - pcall(require('telescope').load_extension, 'fzf') - pcall(require('telescope').load_extension, 'ui-select') - - -- See `:help telescope.builtin` - local builtin = require 'telescope.builtin' - vim.keymap.set('n', 'sh', builtin.help_tags, { desc = '[S]earch [H]elp' }) - vim.keymap.set('n', 'sk', builtin.keymaps, { desc = '[S]earch [K]eymaps' }) - vim.keymap.set('n', 'sf', builtin.find_files, { desc = '[S]earch [F]iles' }) - vim.keymap.set('n', 'ss', builtin.builtin, { desc = '[S]earch [S]elect Telescope' }) - vim.keymap.set('n', 'sw', builtin.grep_string, { desc = '[S]earch current [W]ord' }) - vim.keymap.set('n', 'sg', builtin.live_grep, { desc = '[S]earch by [G]rep' }) - vim.keymap.set('n', 'sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' }) - vim.keymap.set('n', 'sr', builtin.resume, { desc = '[S]earch [R]esume' }) - vim.keymap.set('n', 's.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' }) - vim.keymap.set('n', '', builtin.buffers, { desc = '[ ] Find existing buffers' }) - - -- Slightly advanced example of overriding default behavior and theme - vim.keymap.set('n', '/', function() - -- You can pass additional configuration to Telescope to change the theme, layout, etc. - builtin.current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { - winblend = 10, - previewer = false, - }) - end, { desc = '[/] Fuzzily search in current buffer' }) - - -- It's also possible to pass additional configuration options. - -- See `:help telescope.builtin.live_grep()` for information about particular keys - vim.keymap.set('n', 's/', function() - builtin.live_grep { - grep_open_files = true, - prompt_title = 'Live Grep in Open Files', - } - end, { desc = '[S]earch [/] in Open Files' }) - - -- Shortcut for searching your Neovim configuration files - vim.keymap.set('n', 'sn', function() - builtin.find_files { cwd = vim.fn.stdpath 'config' } - end, { desc = '[S]earch [N]eovim files' }) - end, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/todo-comments.lua b/AppData/Local/nvim/lua/plugins/todo-comments.lua deleted file mode 100644 index c5f954d..0000000 --- a/AppData/Local/nvim/lua/plugins/todo-comments.lua +++ /dev/null @@ -1,48 +0,0 @@ -return { - -- Highlight todo, notes, etc in comments - { - 'folke/todo-comments.nvim', - event = 'VimEnter', - dependencies = { 'nvim-lua/plenary.nvim' }, - opts = { signs = true, keywords = { - DOUBLEROUTING = { icon = '🔀', color = 'hint' }, - } }, - }, - { -- 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() - - -- Simple and easy statusline. - -- You could remove this setup call if you don't like it, - -- and try some other statusline plugin - local statusline = require 'mini.statusline' - -- set use_icons to true if you have a Nerd Font - statusline.setup { use_icons = vim.g.have_nerd_font } - - -- You can configure sections in the statusline by overriding their - -- default behavior. For example, here we set the section for - -- cursor location to LINE:COLUMN - ---@diagnostic disable-next-line: duplicate-set-field - statusline.section_location = function() - return '%2l:%-2v' - end - - -- ... and there is more! - -- Check out: https://github.com/echasnovski/mini.nvim - end, - }, -} diff --git a/AppData/Local/nvim/lua/plugins/vim-sleuth.lua b/AppData/Local/nvim/lua/plugins/vim-sleuth.lua deleted file mode 100644 index 9203313..0000000 --- a/AppData/Local/nvim/lua/plugins/vim-sleuth.lua +++ /dev/null @@ -1,5 +0,0 @@ --- Detect tabstop and shiftwidth automatically --- https://github.com/tpope/vim-sleuth -return { - 'tpope/vim-sleuth', -} diff --git a/AppData/Local/nvim/lua/plugins/which-key.lua b/AppData/Local/nvim/lua/plugins/which-key.lua deleted file mode 100644 index 4e1f379..0000000 --- a/AppData/Local/nvim/lua/plugins/which-key.lua +++ /dev/null @@ -1,59 +0,0 @@ -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.opt.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 = ' ', - Down = ' ', - Left = ' ', - Right = ' ', - C = ' ', - M = ' ', - D = ' ', - S = ' ', - CR = ' ', - Esc = ' ', - ScrollWheelDown = ' ', - ScrollWheelUp = ' ', - NL = ' ', - BS = ' ', - Space = ' ', - Tab = ' ', - F1 = '', - F2 = '', - F3 = '', - F4 = '', - F5 = '', - F6 = '', - F7 = '', - F8 = '', - F9 = '', - F10 = '', - F11 = '', - F12 = '', - }, - }, - - -- Document existing key chains - spec = { - { 's', group = '[S]earch' }, - { 't', group = '[T]oggle' }, - { 'T', group = '[T]ools' }, - { 'h', group = 'Git [H]unk', mode = { 'n', 'v' } }, - { 'm', group = '[M]arkdown' }, - { 'r', group = '[R]eload' }, - { 'r', group = '[R]eload' }, - { 'd', group = '[D]ebug' }, - }, - }, - }, -} diff --git a/package-lock.json b/package-lock.json index 9dbae73..185c672 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "@vue/typescript-plugin": "^3.2.2", + "@vue/typescript-plugin": "^3.2.5", "neovim": "5.4.0" } }, @@ -32,12 +32,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", - "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", "license": "MIT", "dependencies": { - "@babel/types": "^7.28.6" + "@babel/types": "^7.29.0" }, "bin": { "parser": "bin/babel-parser.js" @@ -47,9 +47,9 @@ } }, "node_modules/@babel/types": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", - "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", @@ -105,61 +105,61 @@ "license": "MIT" }, "node_modules/@volar/language-core": { - "version": "2.4.27", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.27.tgz", - "integrity": "sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==", + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.28.tgz", + "integrity": "sha512-w4qhIJ8ZSitgLAkVay6AbcnC7gP3glYM3fYwKV3srj8m494E3xtrCv6E+bWviiK/8hs6e6t1ij1s2Endql7vzQ==", "license": "MIT", "dependencies": { - "@volar/source-map": "2.4.27" + "@volar/source-map": "2.4.28" } }, "node_modules/@volar/source-map": { - "version": "2.4.27", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.27.tgz", - "integrity": "sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==", + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.28.tgz", + "integrity": "sha512-yX2BDBqJkRXfKw8my8VarTyjv48QwxdJtvRgUpNE5erCsgEUdI2DsLbpa+rOQVAJYshY99szEcRDmyHbF10ggQ==", "license": "MIT" }, "node_modules/@volar/typescript": { - "version": "2.4.27", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.27.tgz", - "integrity": "sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==", + "version": "2.4.28", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.28.tgz", + "integrity": "sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==", "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.27", + "@volar/language-core": "2.4.28", "path-browserify": "^1.0.1", "vscode-uri": "^3.0.8" } }, "node_modules/@vue/compiler-core": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.26.tgz", - "integrity": "sha512-vXyI5GMfuoBCnv5ucIT7jhHKl55Y477yxP6fc4eUswjP8FG3FFVFd41eNDArR+Uk3QKn2Z85NavjaxLxOC19/w==", + "version": "3.5.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.30.tgz", + "integrity": "sha512-s3DfdZkcu/qExZ+td75015ljzHc6vE+30cFMGRPROYjqkroYI5NV2X1yAMX9UeyBNWB9MxCfPcsjpLS11nzkkw==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.28.5", - "@vue/shared": "3.5.26", - "entities": "^7.0.0", + "@babel/parser": "^7.29.0", + "@vue/shared": "3.5.30", + "entities": "^7.0.1", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.26.tgz", - "integrity": "sha512-y1Tcd3eXs834QjswshSilCBnKGeQjQXB6PqFn/1nxcQw4pmG42G8lwz+FZPAZAby6gZeHSt/8LMPfZ4Rb+Bd/A==", + "version": "3.5.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.30.tgz", + "integrity": "sha512-eCFYESUEVYHhiMuK4SQTldO3RYxyMR/UQL4KdGD1Yrkfdx4m/HYuZ9jSfPdA+nWJY34VWndiYdW/wZXyiPEB9g==", "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.26", - "@vue/shared": "3.5.26" + "@vue/compiler-core": "3.5.30", + "@vue/shared": "3.5.30" } }, "node_modules/@vue/language-core": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.2.2.tgz", - "integrity": "sha512-5DAuhxsxBN9kbriklh3Q5AMaJhyOCNiQJvCskN9/30XOpdLiqZU9Q+WvjArP17ubdGEyZtBzlIeG5nIjEbNOrQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.2.5.tgz", + "integrity": "sha512-d3OIxN/+KRedeM5wQ6H6NIpwS3P5gC9nmyaHgBk+rO6dIsjY+tOh4UlPpiZbAh3YtLdCGEX4M16RmsBqPmJV+g==", "license": "MIT", "dependencies": { - "@volar/language-core": "2.4.27", + "@volar/language-core": "2.4.28", "@vue/compiler-dom": "^3.5.0", "@vue/shared": "^3.5.0", "alien-signals": "^3.0.0", @@ -169,22 +169,22 @@ } }, "node_modules/@vue/shared": { - "version": "3.5.26", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.26.tgz", - "integrity": "sha512-7Z6/y3uFI5PRoKeorTOSXKcDj0MSasfNNltcslbFrPpcw6aXRUALq4IfJlaTRspiWIUOEZbrpM+iQGmCOiWe4A==", + "version": "3.5.30", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.30.tgz", + "integrity": "sha512-YXgQ7JjaO18NeK2K9VTbDHaFy62WrObMa6XERNfNOkAhD1F1oDSf3ZJ7K6GqabZ0BvSDHajp8qfS5Sa2I9n8uQ==", "license": "MIT" }, "node_modules/@vue/typescript-plugin": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@vue/typescript-plugin/-/typescript-plugin-3.2.2.tgz", - "integrity": "sha512-7mQeWWMAVeloiN0y2ZCX/kSiGbGjvI4TEc3f9at4qVdUuhMnRZ4JBE5TQFnZEybGoHdEfj86fgW+ve2Jg7z99g==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/@vue/typescript-plugin/-/typescript-plugin-3.2.5.tgz", + "integrity": "sha512-efEFD1QEq4tQhLpsVOdPXNiJlhQU4Z4yG52ggvuXK8r+wrLLNMAlrM47lfzk7Mua7HCeVzxXL1r401JcCVVNMw==", "license": "MIT", "dependencies": { - "@volar/typescript": "2.4.27", - "@vue/language-core": "3.2.2", + "@volar/typescript": "2.4.28", + "@vue/language-core": "3.2.5", "@vue/shared": "^3.5.0", "path-browserify": "^1.0.1", - "vue-component-meta": "3.2.2" + "vue-component-meta": "3.2.5" } }, "node_modules/alien-signals": { @@ -252,9 +252,9 @@ "license": "MIT" }, "node_modules/entities": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.0.tgz", - "integrity": "sha512-FDWG5cmEYf2Z00IkYRhbFrwIwvdFKH07uV8dvNy0omp/Qb1xcyCWp2UDtcwJF4QZZvk0sLudP6/hAu42TaqVhQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", "license": "BSD-2-Clause", "engines": { "node": ">=0.12" @@ -475,13 +475,13 @@ "license": "MIT" }, "node_modules/vue-component-meta": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/vue-component-meta/-/vue-component-meta-3.2.2.tgz", - "integrity": "sha512-i1sAzQwHBXKvIFxxEoFL8+YzaJfIwyAypFOcElwXga2+J+ZxrhySiPRbnZuT9mHOEj40rkEm8Sw/93jumk7haA==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/vue-component-meta/-/vue-component-meta-3.2.5.tgz", + "integrity": "sha512-i7v7S6atD9aZZPouwceJoqcmBzjI4uRIxOj5dDcBPiIhFoY+U5kmy7PnEaAOh/iilJQI7I8F3lKdyZmRdplUpA==", "license": "MIT", "dependencies": { - "@volar/typescript": "2.4.27", - "@vue/language-core": "3.2.2", + "@volar/typescript": "2.4.28", + "@vue/language-core": "3.2.5", "path-browserify": "^1.0.1" }, "peerDependencies": { diff --git a/package.json b/package.json index 1b647a3..2cf7b8d 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "author": "", "license": "ISC", "dependencies": { - "@vue/typescript-plugin": "^3.2.2", + "@vue/typescript-plugin": "^3.2.5", "neovim": "5.4.0" } } diff --git a/requirements.ps1 b/requirements.ps1 index df5e725..2aa7fa2 100644 --- a/requirements.ps1 +++ b/requirements.ps1 @@ -143,7 +143,6 @@ foreach ($key in $Flags.Keys) # Important stuff $packages = @( "wez.wezterm", # Teminal emulator - "neovim.neovim" "Schniz.fnm", # Fast node version manager "microsoft.teams", "putty.putty", @@ -156,9 +155,11 @@ $packages = @( "Python.Python.3.9", # project dependencies "Python.Python.3.10", # isort "JernejSimoncic.Wget", # nvim - "7zip.7zip" # nvim + "7zip.7zip", # nvim + "GnuWin32.gzip", "rustlang.rustup", - "Mozilla.Firefox" + "Mozilla.Firefox", + "SlackTechnologies.Slack" ) $ExtraPackages = @( "mRemoteNG.mRemoteNG", @@ -182,6 +183,31 @@ if ($Flags.WingetEnabled) { winget install $package } + + powershell -c "irm https://raw.githubusercontent.com/MordechaiHadad/bob/master/scripts/install.ps1 | iex" + + $toolPaths = @( + "C:\ProgramData\chocolatey\tools", + "C:\Program Files (x86)\GnuWin32\bin", + "$env:LOCALAPPDATA\bob_bin" + ) + + $currentPath = [Environment]::GetEnvironmentVariable("Path", "User") + + foreach ($toolPath in $toolPaths) { + if ($currentPath -notlike "*$toolPath*") { + $currentPath = "$currentPath;$toolPath" + Write-Host "Added $toolPath to user PATH." -ForegroundColor Green + } else { + Write-Host "$toolPath is already in the user PATH." -ForegroundColor Yellow + } + } + +[Environment]::SetEnvironmentVariable("Path", $currentPath, "User") + + bob install nightly + bob use nightly + } if ($Flags.ExtrasEnabled)