From c76132cab66c0b28428916283f7f5c21837ad1a9 Mon Sep 17 00:00:00 2001 From: Pikatsuto Date: Tue, 18 Jun 2024 12:57:31 +0200 Subject: [PATCH] feat: update from repo --- package.nix | 53 ++++++++------ src/exemple | 3 - src/exemple-2 | 3 - src/icon.png | Bin 23997 -> 89577 bytes src/ide | 25 +++++++ src/nvim/.neoconf.json | 20 ++++++ src/nvim/.stylua.toml | 7 ++ src/nvim/README.md | 34 +++++++++ src/nvim/init.lua | 19 +++++ src/nvim/lazy-lock.json | 62 ++++++++++++++++ src/nvim/lua/community.lua | 10 +++ src/nvim/lua/lazy_setup.lua | 32 +++++++++ src/nvim/lua/plugins/astrocore.lua | 71 +++++++++++++++++++ src/nvim/lua/plugins/astrolsp.lua | 105 ++++++++++++++++++++++++++++ src/nvim/lua/plugins/astroui.lua | 37 ++++++++++ src/nvim/lua/plugins/mason.lua | 39 +++++++++++ src/nvim/lua/plugins/none-ls.lua | 22 ++++++ src/nvim/lua/plugins/treesitter.lua | 14 ++++ src/nvim/lua/plugins/user.lua | 90 ++++++++++++++++++++++++ src/nvim/lua/polish.lua | 18 +++++ src/nvim/neovim.yml | 6 ++ src/nvim/selene.toml | 8 +++ 22 files changed, 652 insertions(+), 26 deletions(-) mode change 100755 => 100644 package.nix delete mode 100644 src/exemple delete mode 100755 src/exemple-2 create mode 100755 src/ide create mode 100644 src/nvim/.neoconf.json create mode 100644 src/nvim/.stylua.toml create mode 100644 src/nvim/README.md create mode 100644 src/nvim/init.lua create mode 100644 src/nvim/lazy-lock.json create mode 100644 src/nvim/lua/community.lua create mode 100644 src/nvim/lua/lazy_setup.lua create mode 100644 src/nvim/lua/plugins/astrocore.lua create mode 100644 src/nvim/lua/plugins/astrolsp.lua create mode 100644 src/nvim/lua/plugins/astroui.lua create mode 100644 src/nvim/lua/plugins/mason.lua create mode 100644 src/nvim/lua/plugins/none-ls.lua create mode 100644 src/nvim/lua/plugins/treesitter.lua create mode 100644 src/nvim/lua/plugins/user.lua create mode 100644 src/nvim/lua/polish.lua create mode 100644 src/nvim/neovim.yml create mode 100644 src/nvim/selene.toml diff --git a/package.nix b/package.nix old mode 100755 new mode 100644 index 82a9fb6..d2f5187 --- a/package.nix +++ b/package.nix @@ -2,32 +2,39 @@ stdenv, lib, makeWrapper, - bash, + gnat14, + gnumake, + python311, + nodejs, + bottom, + ripgrep, + lazygit, + wl-clipboard, + nil, }: ############ # Packages # -######################################################################### +####################################################################### let iconPath = "icon.png"; - name = "Exemple Application"; - comment = "Exemple Application"; + name = "IDE"; + comment = "custom lvim launcher"; in -# --------------------------------------------------------------------- # +# ----------------------------------------------------------------- # stdenv.mkDerivation (finalAttrs: { - pname = "exemple"; - version = "24.05-15-06-2024"; - ## ----------------------------------------------------------------- ## + pname = "ide"; + version = "24.05-07-06-2024"; src = ./src; - ## ----------------------------------------------------------------- ## + # ----------------------------------------------------------------- # nativeBuildInputs = [ makeWrapper ]; - ## ----------------------------------------------------------------- ## prePatch = '' patchShebangs . ; - substituteInPlace exemple \ - --replace-fail "exemple-2" "${placeholder "out"}/bin/exemple-2" + substituteInPlace ide \ + --replace-fail "/Applications/ide/nvim" \ + "${placeholder "out"}/Applications/ide/nvim" ''; - ## ----------------------------------------------------------------- ## + # ----------------------------------------------------------------- # installPhase = '' runHook preInstall @@ -35,7 +42,6 @@ stdenv.mkDerivation (finalAttrs: { cp -r ./ $out/Applications/${finalAttrs.pname}/ install -Dm 755 ${finalAttrs.pname} $out/bin/${finalAttrs.pname} - install -Dm 755 exemple-2 $out/bin/exemple-2 echo -e "[Desktop Entry]\n" \ "Type=Application\n" \ @@ -50,19 +56,26 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - ## ----------------------------------------------------------------- ## + # ----------------------------------------------------------------- # postFixup = '' - wrapProgram $out/bin/exemple-2 \ + wrapProgram $out/bin/${finalAttrs.pname} \ --prefix PATH : ${lib.makeBinPath [ - bash + gnat14 + gnumake + python311 + nodejs + bottom + ripgrep + lazygit + wl-clipboard + nil ]} ''; - ## ----------------------------------------------------------------- ## + # ----------------------------------------------------------------- # meta = { description = comment; - homepage = "https://github.com/RevoluNix/pkgs-template/"; maintainers = with lib.maintainers; [ pikatsuto ]; - licenses = lib.licenses.lgpl2; + licenses = lib.licenses.gpl3Plus; platforms = lib.platforms.linux; mainProgram = finalAttrs.pname; }; diff --git a/src/exemple b/src/exemple deleted file mode 100644 index aec1367..0000000 --- a/src/exemple +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -exemple-2 diff --git a/src/exemple-2 b/src/exemple-2 deleted file mode 100755 index eea8da6..0000000 --- a/src/exemple-2 +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -echo "exemple" diff --git a/src/icon.png b/src/icon.png index 4e52c276a26bcb1e8289fc41a854ab9c6621d73b..5cb5c20e0910887474b416d9f5dbbc026f1b822e 100644 GIT binary patch literal 89577 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

~DHWt{(qOQp4UjetwNdMmQg8#yYEui~IT6 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 diff --git a/src/ide b/src/ide new file mode 100755 index 0000000..eeb3ba8 --- /dev/null +++ b/src/ide @@ -0,0 +1,25 @@ +#! /usr/bin/env bash + +rm -rf ${HOME}/.config/nvim +cp -r /Applications/ide/nvim ${HOME}/.config/ +sudo chown -R $(id -u):$(id -g) ${HOME}/.config/nvim +sudo chmod -R 755 ${HOME}/.config/nvim + +FolderIdeCommand() { + nvim -c "ToggleTerm direction=horizontal" -c "Neotree" +} + +FileIdeCommand() { + nvim -c "ToggleTerm direction=horizontal" ${1} +} + +ideCommand="FileIdeCommand ${1}" +if [ -d "${1}" ] 2> /dev/null; then + cd ${1} + ideCommand="FolderIdeCommand" +fi +if [ "${1}x" == "x" ] 2> /dev/null; then + ideCommand="FolderIdeCommand" +fi + +$ideCommand diff --git a/src/nvim/.neoconf.json b/src/nvim/.neoconf.json new file mode 100644 index 0000000..2d7a81f --- /dev/null +++ b/src/nvim/.neoconf.json @@ -0,0 +1,20 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + }, + "lspconfig": { + "lua_ls": { + "Lua.format.enable": false + } + } +} diff --git a/src/nvim/.stylua.toml b/src/nvim/.stylua.toml new file mode 100644 index 0000000..bfcffff --- /dev/null +++ b/src/nvim/.stylua.toml @@ -0,0 +1,7 @@ +column_width = 120 +line_endings = "Unix" +indent_type = "Spaces" +indent_width = 2 +quote_style = "AutoPreferDouble" +call_parentheses = "None" +collapse_simple_statement = "Always" diff --git a/src/nvim/README.md b/src/nvim/README.md new file mode 100644 index 0000000..365674b --- /dev/null +++ b/src/nvim/README.md @@ -0,0 +1,34 @@ +# AstroNvim Template + +**NOTE:** This is for AstroNvim v4+ + +A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim) + +## 🛠️ Installation + +#### Make a backup of your current nvim and shared folder + +```shell +mv ~/.config/nvim ~/.config/nvim.bak +mv ~/.local/share/nvim ~/.local/share/nvim.bak +mv ~/.local/state/nvim ~/.local/state/nvim.bak +mv ~/.cache/nvim ~/.cache/nvim.bak +``` + +#### Create a new user repository from this template + +Press the "Use this template" button above to create a new repository to store your user configuration. + +You can also just clone this repository directly if you do not want to track your user configuration in GitHub. + +#### Clone the repository + +```shell +git clone https://github.com// ~/.config/nvim +``` + +#### Start Neovim + +```shell +nvim +``` diff --git a/src/nvim/init.lua b/src/nvim/init.lua new file mode 100644 index 0000000..2ce1cdd --- /dev/null +++ b/src/nvim/init.lua @@ -0,0 +1,19 @@ +-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution +-- This file doesn't necessarily need to be touched, BE CAUTIOUS editing this file and proceed at your own risk. +local lazypath = vim.env.LAZY or vim.fn.stdpath "data" .. "/lazy/lazy.nvim" +if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then + -- stylua: ignore + vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) +end +vim.opt.rtp:prepend(lazypath) + +-- validate that lazy is available +if not pcall(require, "lazy") then + -- stylua: ignore + vim.api.nvim_echo({ { ("Unable to load lazy from: %s\n"):format(lazypath), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {}) + vim.fn.getchar() + vim.cmd.quit() +end + +require "lazy_setup" +require "polish" diff --git a/src/nvim/lazy-lock.json b/src/nvim/lazy-lock.json new file mode 100644 index 0000000..eeee2e1 --- /dev/null +++ b/src/nvim/lazy-lock.json @@ -0,0 +1,62 @@ +{ + "AstroNvim": { "branch": "main", "commit": "97f9c1a8f13937939a808a4670b98426c2947e5c" }, + "Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" }, + "LuaSnip": { "branch": "master", "commit": "03c8e67eb7293c404845b3982db895d59c0d1538" }, + "aerial.nvim": { "branch": "master", "commit": "4d10acbcb760802ea74381ac3ed98cbb6e5f7805" }, + "alpha-nvim": { "branch": "main", "commit": "41283fb402713fc8b327e60907f74e46166f4cfd" }, + "astrocore": { "branch": "main", "commit": "3b60036e92ba000dddb727fe1fff0ca283f37106" }, + "astrolsp": { "branch": "main", "commit": "fd2666a283af98182b1e8b01c85656071093a825" }, + "astrotheme": { "branch": "main", "commit": "2bcd030c93489a02aab6cff2288e49adb0c84fad" }, + "astroui": { "branch": "main", "commit": "a79b6fc3d9b67a0a93e486801ef354967c80e9d6" }, + "auto-save.nvim": { "branch": "main", "commit": "979b6c82f60cfa80f4cf437d77446d0ded0addf0" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-dap": { "branch": "master", "commit": "ea92773e84c0ad3288c3bc5e452ac91559669087" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, + "dressing.nvim": { "branch": "master", "commit": "572314728cb1ce012e825fd66331f52c94acac12" }, + "friendly-snippets": { "branch": "main", "commit": "e11b09bf10706bb74e16e4c3d11b2274d62e687f" }, + "gitsigns.nvim": { "branch": "main", "commit": "76927d14d3fbd4ba06ccb5246e79d93b5442c188" }, + "guess-indent.nvim": { "branch": "main", "commit": "b8ae749fce17aa4c267eec80a6984130b94f80b2" }, + "heirline.nvim": { "branch": "master", "commit": "0d797435e54645a5f98bad7ad6046aac1ef95c1e" }, + "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, + "lazy.nvim": { "branch": "main", "commit": "fafe1f7c640aed75e70a10e6649612cd96f39149" }, + "lsp_signature.nvim": { "branch": "master", "commit": "2ec2ba23882329c1302dff773b0d3620371d634f" }, + "lspkind.nvim": { "branch": "master", "commit": "1735dd5a5054c1fb7feaf8e8658dbab925f4f0cf" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "9ae570e206360e47d30b4c35a4550c165f4ea7b7" }, + "mason-null-ls.nvim": { "branch": "main", "commit": "2b8433f76598397fcc97318d410e0c4f7a4bea6a" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "f5425eb1d0d794f0305d5eeebddabb74614683ff" }, + "mason.nvim": { "branch": "main", "commit": "c43eeb5614a09dc17c03a7fb49de2e05de203924" }, + "mini.bufremove": { "branch": "main", "commit": "931a3bb514147d9e812767275c4beba6b779b1d3" }, + "neo-tree.nvim": { "branch": "main", "commit": "8c75e8a2949cd6cd35525799200a8d34471ee9eb" }, + "neoconf.nvim": { "branch": "main", "commit": "f8947e998dac4213f6c7bb1c7b843cba64db22dd" }, + "neodev.nvim": { "branch": "main", "commit": "1f4ebcc10852518166ce165e57d425a4265a10d4" }, + "none-ls.nvim": { "branch": "main", "commit": "8691504118b252d64fc5023a104aedd100ab754a" }, + "nui.nvim": { "branch": "main", "commit": "a0fd35fcbb4cb479366f1dc5f20145fd718a3733" }, + "nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" }, + "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "85855b38011114929f4058efc97af1059ab3e41d" }, + "nvim-dap": { "branch": "master", "commit": "5ba8ceace596360321cf33fa4b56d9d46e057ce9" }, + "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, + "nvim-lspconfig": { "branch": "master", "commit": "92166b89ab4b3d60f24e58170cac53b7141fd032" }, + "nvim-nio": { "branch": "master", "commit": "8765cbc4d0c629c8158a5341e1b4305fd93c3a90" }, + "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, + "nvim-treesitter": { "branch": "master", "commit": "c5cbd3ec74f6f5ddbac939e6f24b99fe78262b4c" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" }, + "nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" }, + "nvim-ts-context-commentstring": { "branch": "main", "commit": "cb064386e667def1d241317deed9fd1b38f0dc2e" }, + "nvim-ufo": { "branch": "main", "commit": "a5390706f510d39951dd581f6d2a972741b3fa26" }, + "nvim-web-devicons": { "branch": "master", "commit": "b4b302d6ae229f67df7a87ef69fa79473fe788a9" }, + "nvim-window-picker": { "branch": "main", "commit": "41cfaa428577c53552200a404ae9b3a0b5719706" }, + "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, + "presence.nvim": { "branch": "main", "commit": "87c857a56b7703f976d3a5ef15967d80508df6e6" }, + "promise-async": { "branch": "main", "commit": "38a4575da9497326badd3995e768b4ccf0bb153e" }, + "resession.nvim": { "branch": "master", "commit": "cc819b0489938d03e4f3532a583354f0287c015b" }, + "smart-splits.nvim": { "branch": "master", "commit": "66fda3a601a5b4c679656f15eb6ddd613c8d3216" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, + "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, + "todo-comments.nvim": { "branch": "main", "commit": "a7e39ae9e74f2c8c6dc4eea6d40c3971ae84752d" }, + "toggleterm.nvim": { "branch": "main", "commit": "066cccf48a43553a80a210eb3be89a15d789d6e6" }, + "vim-illuminate": { "branch": "master", "commit": "5eeb7951fc630682c322e88a9bbdae5c224ff0aa" }, + "which-key.nvim": { "branch": "main", "commit": "0539da005b98b02cf730c1d9da82b8e8edb1c2d2" } +} \ No newline at end of file diff --git a/src/nvim/lua/community.lua b/src/nvim/lua/community.lua new file mode 100644 index 0000000..c079a74 --- /dev/null +++ b/src/nvim/lua/community.lua @@ -0,0 +1,10 @@ +-- AstroCommunity: import any community modules here +-- We import this file in `lazy_setup.lua` before the `plugins/` folder. +-- This guarantees that the specs are processed before any user plugins. + +---@type LazySpec +return { + "AstroNvim/astrocommunity", + { import = "astrocommunity.pack.lua" }, + -- import/override with your plugins folder +} diff --git a/src/nvim/lua/lazy_setup.lua b/src/nvim/lua/lazy_setup.lua new file mode 100644 index 0000000..621de3b --- /dev/null +++ b/src/nvim/lua/lazy_setup.lua @@ -0,0 +1,32 @@ +require("lazy").setup({ + { + "AstroNvim/AstroNvim", + version = "^4", -- Remove version tracking to elect for nighly AstroNvim + import = "astronvim.plugins", + opts = { -- AstroNvim options must be set here with the `import` key + mapleader = " ", -- This ensures the leader key must be configured before Lazy is set up + maplocalleader = ",", -- This ensures the localleader key must be configured before Lazy is set up + icons_enabled = true, -- Set to false to disable icons (if no Nerd Font is available) + pin_plugins = nil, -- Default will pin plugins when tracking `version` of AstroNvim, set to true/false to override + update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins + }, + }, + { import = "community" }, + { import = "plugins" }, +} --[[@as LazySpec]], { + -- Configure any other `lazy.nvim` configuration options here + install = { colorscheme = { "astrodark", "habamax" } }, + ui = { backdrop = 100 }, + performance = { + rtp = { + -- disable some rtp plugins, add more to your liking + disabled_plugins = { + "gzip", + "netrwPlugin", + "tarPlugin", + "tohtml", + "zipPlugin", + }, + }, + }, +} --[[@as LazyConfig]]) diff --git a/src/nvim/lua/plugins/astrocore.lua b/src/nvim/lua/plugins/astrocore.lua new file mode 100644 index 0000000..027a328 --- /dev/null +++ b/src/nvim/lua/plugins/astrocore.lua @@ -0,0 +1,71 @@ +-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more! +-- Configuration documentation can be found with `:h astrocore` +-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) +-- as this provides autocomplete and documentation while editing + +---@type LazySpec +return { + "AstroNvim/astrocore", + ---@type AstroCoreOpts + opts = { + -- Configure core features of AstroNvim + features = { + large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter + autopairs = true, -- enable autopairs at start + cmp = true, -- enable completion at start + diagnostics_mode = 3, -- diagnostic mode on start (0 = off, 1 = no signs/virtual text, 2 = no virtual text, 3 = on) + highlighturl = true, -- highlight URLs at start + notifications = true, -- enable notifications at start + }, + -- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on + diagnostics = { + virtual_text = true, + underline = true, + }, + -- vim options can be configured here + options = { + opt = { -- vim.opt. + relativenumber = false, -- sets vim.opt.relativenumber + number = true, -- sets vim.opt.number + spell = false, -- sets vim.opt.spell + signcolumn = "yes", -- sets vim.opt.signcolumn to yes + wrap = false, -- sets vim.opt.wrap + shiftwidth = 2, + tabstop = 2, + softtabstop = 2, + clipboard = { 'unnamed', 'unnamedplus' }, + }, + g = { -- vim.g. + }, + }, + -- Mappings can be configured through AstroCore as well. + -- NOTE: keycodes follow the casing in the vimdocs. For example, `` must be capitalized + mappings = { + -- first key is the mode + n = { + -- second key is the lefthand side of the map + + -- navigate buffer tabs + ["]b"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" }, + ["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" }, + + -- mappings seen under group name "Buffer" + ["bd"] = { + function() + require("astroui.status.heirline").buffer_picker( + function(bufnr) require("astrocore.buffer").close(bufnr) end + ) + end, + desc = "Close buffer from tabline", + }, + + -- tables with just a `desc` key will be registered with which-key if it's installed + -- this is useful for naming menus + -- ["b"] = { desc = "Buffers" }, + + -- setting a mapping to false will disable it + -- [""] = false, + }, + }, + }, +} diff --git a/src/nvim/lua/plugins/astrolsp.lua b/src/nvim/lua/plugins/astrolsp.lua new file mode 100644 index 0000000..8fb4d22 --- /dev/null +++ b/src/nvim/lua/plugins/astrolsp.lua @@ -0,0 +1,105 @@ +-- AstroLSP allows you to customize the features in AstroNvim's LSP configuration engine +-- Configuration documentation can be found with `:h astrolsp` +-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) +-- as this provides autocomplete and documentation while editing + +---@type LazySpec +return { + "AstroNvim/astrolsp", + ---@type AstroLSPOpts + opts = { + -- Configuration table of features provided by AstroLSP + features = { + autoformat = true, -- enable or disable auto formatting on start + codelens = true, -- enable/disable codelens refresh on start + inlay_hints = false, -- enable/disable inlay hints on start + semantic_tokens = true, -- enable/disable semantic token highlighting + }, + -- customize lsp formatting options + formatting = { + -- control auto formatting on save + format_on_save = { + enabled = true, -- enable or disable format on save globally + allow_filetypes = { -- enable format on save for specified filetypes only + -- "go", + }, + ignore_filetypes = { -- disable format on save for specified filetypes + -- "python", + }, + }, + disabled = { -- disable formatting capabilities for the listed language servers + -- disable lua_ls formatting capability if you want to use StyLua to format your lua code + -- "lua_ls", + }, + timeout_ms = 1000, -- default format timeout + -- filter = function(client) -- fully override the default formatting function + -- return true + -- end + }, + -- enable servers that you already have installed without mason + servers = { + -- "pyright" + "nil_ls" + }, + -- customize language server configuration options passed to `lspconfig` + ---@diagnostic disable: missing-fields + config = { + -- clangd = { capabilities = { offsetEncoding = "utf-8" } }, + }, + -- customize how language servers are attached + handlers = { + -- a function without a key is simply the default handler, functions take two parameters, the server name and the configured options table for that server + -- function(server, opts) require("lspconfig")[server].setup(opts) end + + -- the key is the server that is being setup with `lspconfig` + -- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server + -- pyright = function(_, opts) require("lspconfig").pyright.setup(opts) end -- or a custom handler function can be passed + }, + -- Configure buffer local auto commands to add when attaching a language server + autocmds = { + -- first key is the `augroup` to add the auto commands to (:h augroup) + lsp_codelens_refresh = { + -- Optional condition to create/delete auto command group + -- can either be a string of a client capability or a function of `fun(client, bufnr): boolean` + -- condition will be resolved for each client on each execution and if it ever fails for all clients, + -- the auto commands will be deleted for that buffer + cond = "textDocument/codeLens", + -- cond = function(client, bufnr) return client.name == "lua_ls" end, + -- list of auto commands to set + { + -- events to trigger + event = { "InsertLeave", "BufEnter" }, + -- the rest of the autocmd options (:h nvim_create_autocmd) + desc = "Refresh codelens (buffer)", + callback = function(args) + if require("astrolsp").config.features.codelens then vim.lsp.codelens.refresh { bufnr = args.buf } end + end, + }, + }, + }, + -- mappings to be set up on attaching of a language server + mappings = { + n = { + -- a `cond` key can provided as the string of a server capability to be required to attach, or a function with `client` and `bufnr` parameters from the `on_attach` that returns a boolean + gD = { + function() vim.lsp.buf.declaration() end, + desc = "Declaration of current symbol", + cond = "textDocument/declaration", + }, + ["uY"] = { + function() require("astrolsp.toggles").buffer_semantic_tokens() end, + desc = "Toggle LSP semantic highlight (buffer)", + cond = function(client) + return client.supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil + end, + }, + }, + }, + -- A custom `on_attach` function to be run after the default `on_attach` function + -- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`) + on_attach = function(client, bufnr) + -- this would disable semanticTokensProvider for all clients + -- client.server_capabilities.semanticTokensProvider = nil + end, + }, +} diff --git a/src/nvim/lua/plugins/astroui.lua b/src/nvim/lua/plugins/astroui.lua new file mode 100644 index 0000000..0b0f2ba --- /dev/null +++ b/src/nvim/lua/plugins/astroui.lua @@ -0,0 +1,37 @@ +-- AstroUI provides the basis for configuring the AstroNvim User Interface +-- Configuration documentation can be found with `:h astroui` +-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) +-- as this provides autocomplete and documentation while editing + +---@type LazySpec +return { + "AstroNvim/astroui", + ---@type AstroUIOpts + opts = { + -- change colorscheme + colorscheme = "astrodark", + -- AstroUI allows you to easily modify highlight groups easily for any and all colorschemes + highlights = { + init = { -- this table overrides highlights in all themes + -- Normal = { bg = "#000000" }, + }, + astrodark = { -- a table of overrides/changes when applying the astrotheme theme + -- Normal = { bg = "#000000" }, + }, + }, + -- Icons can be configured throughout the interface + icons = { + -- configure the loading of the lsp in the status line + LSPLoading1 = "⠋", + LSPLoading2 = "⠙", + LSPLoading3 = "⠹", + LSPLoading4 = "⠸", + LSPLoading5 = "⠼", + LSPLoading6 = "⠴", + LSPLoading7 = "⠦", + LSPLoading8 = "⠧", + LSPLoading9 = "⠇", + LSPLoading10 = "⠏", + }, + }, +} diff --git a/src/nvim/lua/plugins/mason.lua b/src/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..3429661 --- /dev/null +++ b/src/nvim/lua/plugins/mason.lua @@ -0,0 +1,39 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- Customize Mason plugins + +---@type LazySpec +return { + -- use mason-lspconfig to configure LSP installations + { + "williamboman/mason-lspconfig.nvim", + -- overrides `require("mason-lspconfig").setup(...)` + opts = { + ensure_installed = { + "lua_ls", + -- add more arguments for adding more language servers + }, + }, + }, + -- use mason-null-ls to configure Formatters/Linter installation for null-ls sources + { + "jay-babu/mason-null-ls.nvim", + -- overrides `require("mason-null-ls").setup(...)` + opts = { + ensure_installed = { + "stylua", + -- add more arguments for adding more null-ls sources + }, + }, + }, + { + "jay-babu/mason-nvim-dap.nvim", + -- overrides `require("mason-nvim-dap").setup(...)` + opts = { + ensure_installed = { + "python", + -- add more arguments for adding more debuggers + }, + }, + }, +} diff --git a/src/nvim/lua/plugins/none-ls.lua b/src/nvim/lua/plugins/none-ls.lua new file mode 100644 index 0000000..382368d --- /dev/null +++ b/src/nvim/lua/plugins/none-ls.lua @@ -0,0 +1,22 @@ +if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- Customize None-ls sources + +---@type LazySpec +return { + "nvimtools/none-ls.nvim", + opts = function(_, config) + -- config variable is the default configuration table for the setup function call + -- local null_ls = require "null-ls" + + -- Check supported formatters and linters + -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/formatting + -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics + config.sources = { + -- Set a formatter + -- null_ls.builtins.formatting.stylua, + -- null_ls.builtins.formatting.prettier, + } + return config -- return final config table + end, +} diff --git a/src/nvim/lua/plugins/treesitter.lua b/src/nvim/lua/plugins/treesitter.lua new file mode 100644 index 0000000..2f78d84 --- /dev/null +++ b/src/nvim/lua/plugins/treesitter.lua @@ -0,0 +1,14 @@ +-- Customize Treesitter + +---@type LazySpec +return { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "lua", + "vim", + "nix", + -- add more arguments for adding more treesitter parsers + }, + }, +} diff --git a/src/nvim/lua/plugins/user.lua b/src/nvim/lua/plugins/user.lua new file mode 100644 index 0000000..fb87d24 --- /dev/null +++ b/src/nvim/lua/plugins/user.lua @@ -0,0 +1,90 @@ +-- You can also add or configure plugins by creating files in this `plugins/` folder +-- Here are some examples: + +---@type LazySpec +return { + + -- == Examples of Adding Plugins == + + "andweeb/presence.nvim", + { + "ray-x/lsp_signature.nvim", + event = "BufRead", + config = function() require("lsp_signature").setup() end, + }, + + -- == Examples of Overriding Plugins == + + -- customize alpha options + { + "goolord/alpha-nvim", + opts = function(_, opts) + -- customize the dashboard header + opts.section.header.val = { + " █████ ███████ ████████ ██████ ██████", + "██ ██ ██ ██ ██ ██ ██ ██", + "███████ ███████ ██ ██████ ██ ██", + "██ ██ ██ ██ ██ ██ ██ ██", + "██ ██ ███████ ██ ██ ██ ██████", + " ", + " ███  ██ ██  ██ ██ ███  ███", + " ████  ██ ██  ██ ██ ████  ████", + " ██ ██  ██ ██  ██ ██ ██ ████ ██", + " ██  ██ ██  ██  ██  ██ ██  ██  ██", + " ██   ████   ████   ██ ██      ██", + } + return opts + end, + }, + + -- You can disable default plugins as follows: + { "max397574/better-escape.nvim", enabled = false }, + + -- You can also easily customize additional setup of plugins that is outside of the plugin's setup call + { + "L3MON4D3/LuaSnip", + config = function(plugin, opts) + require "astronvim.plugins.configs.luasnip"(plugin, opts) -- include the default astronvim config that calls the setup call + -- add more custom luasnip configuration such as filetype extend or custom snippets + local luasnip = require "luasnip" + luasnip.filetype_extend("javascript", { "javascriptreact" }) + end, + }, + + { + "windwp/nvim-autopairs", + config = function(plugin, opts) + require "astronvim.plugins.configs.nvim-autopairs"(plugin, opts) -- include the default astronvim config that calls the setup call + -- add more custom autopairs configuration such as custom rules + local npairs = require "nvim-autopairs" + local Rule = require "nvim-autopairs.rule" + local cond = require "nvim-autopairs.conds" + npairs.add_rules( + { + Rule("$", "$", { "tex", "latex" }) + -- don't add a pair if the next character is % + :with_pair(cond.not_after_regex "%%") + -- don't add a pair if the previous character is xxx + :with_pair( + cond.not_before_regex("xxx", 3) + ) + -- don't move right when repeat character + :with_move(cond.none()) + -- don't delete if the next character is xx + :with_del(cond.not_after_regex "xx") + -- disable adding a newline when you press + :with_cr(cond.none()), + }, + -- disable for .vim files, but it work for another filetypes + Rule("a", "a", "-vim") + ) + end, + }, + + { + "Pocco81/auto-save.nvim", + config = function() + require("auto-save").setup() + end, + }, +} diff --git a/src/nvim/lua/polish.lua b/src/nvim/lua/polish.lua new file mode 100644 index 0000000..14c38cd --- /dev/null +++ b/src/nvim/lua/polish.lua @@ -0,0 +1,18 @@ +if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE + +-- This will run last in the setup process and is a good place to configure +-- things like custom filetypes. This just pure lua so anything that doesn't +-- fit in the normal config locations above can go here + +-- Set up custom filetypes +vim.filetype.add { + extension = { + foo = "fooscript", + }, + filename = { + ["Foofile"] = "fooscript", + }, + pattern = { + ["~/%.config/foo/.*"] = "fooscript", + }, +} diff --git a/src/nvim/neovim.yml b/src/nvim/neovim.yml new file mode 100644 index 0000000..b9235ab --- /dev/null +++ b/src/nvim/neovim.yml @@ -0,0 +1,6 @@ +--- +base: lua51 + +globals: + vim: + any: true diff --git a/src/nvim/selene.toml b/src/nvim/selene.toml new file mode 100644 index 0000000..e7005c3 --- /dev/null +++ b/src/nvim/selene.toml @@ -0,0 +1,8 @@ +std = "neovim" + +[rules] +global_usage = "allow" +if_same_then_else = "allow" +incorrect_standard_library_use = "allow" +mixed_table = "allow" +multiple_statements = "allow"