Author SHA1 Message Date
Xavier Logerais 5d32fc8518 feat: Adapt configuration for AstroNvim v6 2026-07-07 16:10:12 +00:00
xavier 6787aef5cd feat: Review configuration of key mappings 2026-03-15 03:28:23 +01:00
Xavier Logerais 58e86b8435 feat: Add highlight config for trailing white spaces in yaml files 2026-02-26 17:17:02 +00:00
Xavier Logerais 84026b5a01 feat: Add keymappings for easier buffers navigation 2025-12-11 08:29:56 +00:00
xavier 6202ee57a9 fix: Use only one plugin to render markdown 2025-11-01 13:36:26 +01:00
xavier beedc09154 feat: Add .gitignore file 2025-07-04 00:57:48 +02:00
xavier 4e5dc8d898 feat: Add plugin olimorris/codecompanion.nvim 2025-07-04 00:31:40 +02:00
xavier 43037df9e1 feat: Add plugin milanglacier/minuet-ai.nvim 2025-07-04 00:31:40 +02:00
xavier c58a05348a feat: Update astrocore config 2025-07-04 00:31:40 +02:00
Xavier Logeraisandxavier 087bae6e8d feat: Update community plugins selection 2025-07-04 00:31:40 +02:00
Xavier Logerais 121ed83cf9 feat: Add plugin CRAG666/betterTerm.nvim 2025-07-02 10:52:38 +00:00
Xavier Logerais 0887b2549d feat: Add plugin b0o/incline.nvim
Incline is a plugin for creating lightweight floating statuslines.
2025-07-02 09:50:23 +00:00
Xavier Logerais fe0f40640a feat: Update dictionaries 2025-07-02 09:49:22 +00:00
Xavier Logerais e263535a7b feat: Add plugin to render markdown 2025-04-08 17:05:35 +00:00
Xavier Logerais 3978b108fa feat: Add more astronvim community plugins 2025-04-07 10:41:04 +00:00
Xavier Logerais fab4e88ed3 feat: Add french dictionnaries 2025-04-01 16:13:36 +00:00
Xavier Logerais 99209b6963 feat: Personnal configuration 2025-04-01 16:13:36 +00:00
870c63b394 refactor: move filetype customization from polish.lua to astrocore.lua (#31)
Co-authored-by: Mark Weng <mweng@nvidia.com>
2025-03-29 08:24:27 -04:00
Micah Halter 7da353c26f docs: update README 2025-03-26 16:52:44 -04:00
Micah HalterandGitHub 4f9610c3b7 AstroNvim v5 (#29)
* fix(astrocore): update to the new `diagnostics` settings style

* fix(mason): move to installing Mason packages with `mason-tool-installer.nvim`

* fix(user): update dashboard header example to use `snacks.dashboard`

* fix(lazy_setup): bump version to v5 for release
2025-03-26 14:57:20 -04:00
Syamim HazmiandGitHub 1f2e5231ef typo in comment (#25) 2024-11-26 05:20:56 -05:00
PythonGermanyandGitHub 1ff4f7af16 Add missing word in polish.lua (#24) 2024-10-27 10:38:56 -04:00
ItsDrikeandMicah Halter 20450d8a65 fix(none-ls): Only extend sources, don't replace (#19) 2024-07-10 08:00:13 -04:00
Micah HalterandGitHub b3f629a30e fix(astrolsp): remove old config option 2024-07-01 04:13:04 -04:00
Micah Halter f3df84dec1 fix(lazy_setup): astrotheme is default colorscheme 2024-06-25 11:59:04 -04:00
Micah Halter 7af067e0ff refactor(plugins): ensure_installed tables now extend by default 2024-06-07 09:26:11 -04:00
manuuurinoandMicah Halter 16d0839d84 chore: match the default large buffer size from AstroNvim 2024-06-05 23:07:24 -04:00
Micah Halter 0fbcbe5eb7 chore: make lsp happier 2024-06-04 09:11:19 -04:00
HussainandMicah Halter b777fe96c3 fix(mappings): Fix flipped 'Next buffer' & 'Previous buffer' 2024-05-23 02:19:05 -04:00
Micah Halter 8a474001f4 chore: make demonstrated examples the default values of AstroNvim 2024-05-22 09:13:33 -04:00
Micah Halter 5aedbc8d99 fix(astroui): fix incorrect astrotheme colorscheme name 2024-05-10 08:40:20 -04:00
Micah Halter 60a8ea9057 feat(AstroNvim): add new update_notification option with description 2024-04-18 11:02:04 -04:00
Micah Halter a703cdbe01 chore(astrocore): simplify L and H example mappings 2024-04-06 08:09:53 -04:00
Micah Halter a52fcde0cd doc: clarify that version is used for stable vs nightly AstroNvim 2024-04-01 16:06:47 -04:00
Micah Halter 1a1b69ac3e chore: remove unnecessary branches for release 2024-04-01 09:09:55 -04:00
Micah Halter 782aa957e2 chore(lazy): recommend backdrop = 100 default 2024-03-28 09:10:38 -04:00
Micah Halter ac1eaeb785 fix: update lazy bootstrapping for nightly and stable neovim 2024-03-27 07:14:34 -04:00
Micah Halter 9e3be30b92 fix!: diagnostics configuration moved to AstroCore 2024-03-05 14:13:36 -05:00
Micah Halter d1c8c8c9a6 chore: increase default large_buf size 2024-02-26 09:20:41 -05:00
Micah Halter 5a47cc12f1 chore: move from luacheck to selene 2024-02-26 05:40:41 -05:00
Micah Halter b2b495ff0d doc: clarify lua language server setup 2024-02-23 15:53:28 -05:00
Ben WoodwardandMicah Halter 046e991ca0 fix: spelling 2024-02-23 15:37:39 -05:00
Micah Halter 51d6413e03 fix(astrolsp): lsp_handlers removed and moved to a full config table 2024-02-22 10:00:54 -05:00
Micah Halter 046d464243 revert!: list_inesrt_unique moved back to taking a table 2024-02-22 10:00:51 -05:00
luxusandMicah Halter a2218c603b fix(lsp): Typo in the comment 2024-02-19 20:29:30 -05:00
Micah Halter 215d9457c1 feat: add TODO comment strings to highlight lines to modify 2024-02-19 13:33:56 -05:00
Micah Halter 4ab91873cc chore: remove unnecessary global from template 2024-02-15 10:56:31 -05:00
Micah Halter 6e5afbe75d refactor: combine files to align with plugin organization and add more comments 2024-02-14 11:12:47 -05:00
Micah Halter f4b42001e2 refactor: move lazy setup so user never touches init.lua 2024-02-13 18:04:54 -05:00
Micah Halter 75d2b26b6e refactor: move maplocalleader to AstroNvim opts 2024-02-13 15:39:40 -05:00
Micah Halter d5dc216288 refactor: code cleanup 2024-02-13 14:22:20 -05:00
Micah Halter 95082bdcfd refactor: move community to a separate file 2024-02-13 14:03:46 -05:00
Micah Halter cb61bab710 refactor: move polish to a separate file 2024-02-13 13:52:12 -05:00
Micah Halter 395d8d895b refactor: move mapleader and icons_enabled to AstroNvim opts 2024-02-13 13:42:17 -05:00
Micah Halter 9d4c092e31 refactor: simplify file structure 2024-02-13 11:29:05 -05:00
Micah Halter 4aa332ee0b refactor!: options moved to AstroCore 2024-02-13 10:35:34 -05:00
Micah Halter 568db39c67 fix(astrocore): max_file renamed to large_buf 2024-02-06 13:47:21 -05:00
Micah Halter f142075daa fix(plugins): update mapping casing 2024-01-28 09:58:38 -05:00
Micah Halter c886e9ffeb feat(lsp): add example of LSP features 2024-01-22 13:09:26 -05:00
Micah Halter 2420c8860f fix(lazy): update typing and structure of lazy setup call 2024-01-20 08:51:43 -05:00
Micah Halter 5ce8fbf9cc feat: add typings to tables 2024-01-20 00:40:08 -05:00
Micah HalterandGitHub 550a3b6cab chore(mason): make it easier to modify list_insert_unique call 2024-01-19 15:57:33 -05:00
Micah HalterandGitHub 2813f57ab9 chore(treesitter): make it easier to modify list_insert_unique call 2024-01-19 15:56:43 -05:00
Micah Halter 921a73c4a6 fix: update to new list_insert_unique format 2024-01-19 13:13:52 -05:00
Micah Halter 7b03a0e779 fix(lazy): validate lazy is able to be loaded 2024-01-18 16:22:26 -05:00
manuuurinoandMicah Halter 1a7f4cc8ad fix(core): fix require typo 2024-01-12 09:24:56 -05:00
manuuurinoandMicah Halter a3f12bbc69 fix(mappings): fix require typo 2024-01-12 09:24:56 -05:00
manuuurinoandMicah Halter f80d456010 feat(ui): added example file 2024-01-12 09:24:02 -05:00
Micah Halter 51e96efe93 docs: add notice about community example 2024-01-12 08:56:52 -05:00
Micah Halter 9d7c0e0b25 feat: AstroNvim configures it's own plugin pinning 2023-12-18 08:11:18 -05:00
Uzair AftabandMicah Halter 151a16113d fix(none-ls): Swap out jose-elias-alvarez/null-ls with nvimtools/none-ls 2023-12-14 16:12:10 -05:00
Micah Halter 02bbc5fca7 fix(none-ls): update null-ls file to none-ls 2023-12-14 16:05:47 -05:00
Uzair AftabandMicah Halter ba2038a9c6 fix(mappings): Fix issue with wrong imports in commented out code 2023-12-07 07:04:17 -05:00
Micah Halter e5ff5111a5 fix: ignore missing fields for LSP configuration options 2023-10-26 10:39:30 -04:00
Micah Halter 02dd6972b2 chore: clean up template comments 2023-10-10 09:14:57 -04:00
Micah Halter e12977f3c4 fix: keep stable astronvim updating in the current major release to avoid breaking changes 2023-10-06 12:11:00 -04:00
Micah Halter 3697cce5a1 refactor: simplify spec setup now that cond is usable for imports 2023-10-06 11:59:27 -04:00
Micah Halter 4e9e8032ab chore: fix various typos 2023-08-10 07:50:21 -04:00
Micah Halter fa0db7e9b0 chore: update luacheckrc 2023-08-10 07:49:27 -04:00
Micah Halter 16e5423fe0 docs: add note to README 2023-08-10 07:49:26 -04:00
Micah Halter 4f0762be2d feat: add lua_ls completion for AstroNvim core plugins 2023-08-10 07:49:22 -04:00
Micah Halter ab545e95e1 chore: move README to the root 2023-08-02 11:08:50 -04:00
Micah Halter d0eaa28b5a chore(mappings): improve example mappings 2023-07-31 10:13:49 -04:00
Micah Halter e9875c83b6 refactor: clean up user example files to be easier to follow 2023-07-27 12:58:52 -04:00
Micah Halter b586a17c6b fix: set variable if it's a first install 2023-07-27 06:57:52 -04:00
Micah Halter 4f704ee476 fix: update mappings 2023-07-26 09:28:08 -04:00
Micah Halter b30ee0385f fix: astrocore.utils moved to astrocore 2023-07-26 09:08:29 -04:00
372bba036f fix: Point to v4 compatible branch (#18)
* feat: Point to v4-refactor branch instead of stable astrocommunity

* chore: Use v4 branch instead of v4-refactor

Co-authored-by: Micah Halter <micah@mehalter.com>

* chore: Comment out astrocommunity as default

Co-authored-by: Micah Halter <micah@mehalter.com>

* chore: Fix comment

---------

Co-authored-by: Micah Halter <micah@mehalter.com>
2023-07-26 07:44:02 -04:00
Micah Halter ac5dc3ac00 chore: disable lazy loading by default 2023-07-25 15:49:31 -04:00
Micah Halter 5dae91a387 feat!: Move to AstroNvim v4 distributed through lazy.nvim 2023-07-25 15:34:21 -04:00
Micah Halter 59b12098bd fix: disable lua_ls formatting with Neoconf 2023-07-06 09:16:16 -04:00
Micah Halter 8b8a9a035f fix: add luacheck configuration 2023-06-22 11:30:06 -04:00
Micah Halter 8ef52d0256 feat(options): add experimental resession option 2023-06-02 11:51:55 -04:00
Micah Halter bb38952947 refactor(plugins): simplify list_insert_unique calls 2023-05-01 13:25:53 -04:00
Micah Halter 01ac6de9a9 fix(plugins): protect ensure_installed table from community packs 2023-04-28 09:56:43 -04:00
Logan LuoandMicah Halter 23c505c58a docs: update lua lsp formatting comments 2023-04-06 06:22:07 -04:00
Micah Halter 14ca83640a chore: update disable plugins 2023-03-17 11:55:56 -04:00
Christian MayerandMicah Halter 89b4076fdc update mappings to be compatible with astrovim 3 2023-03-11 20:58:53 -05:00
Micah Halter 821aa73190 fix(plugins): fix default configuration syntax 2023-03-11 20:54:20 -05:00
Micah Halter 2d62b10020 chore: use stable astronvim 2023-03-10 11:46:04 -05:00
Utkarsh GuptaandMicah Halter 173d7f67a0 fix(mason): sumneko_lua -> lua_ls
Signed-off-by: Utkarsh Gupta <utkarshgupta137@gmail.com>
2023-03-10 08:32:18 -05:00
Utkarsh GuptaandMicah Halter a624f3fac9 fix(options): update diagnostic options 2023-03-10 08:32:18 -05:00
Micah Halter 543b6c0e30 chore: simplify user configuration 2023-03-10 08:28:04 -05:00
Micah Halter 6774fc80cd chore(update): v3 released to nightly 2023-03-01 08:47:51 -05:00
Micah Halter 683413b8c3 chore(updater): until stable v3, use nightly 2023-02-28 11:19:27 -05:00
Micah Halter 877cec5c69 fix: update breaking changes in v3 2023-02-28 11:19:15 -05:00
Micah Halter 056945c13b feat(plugins): add example of using astrocommunity repo 2023-02-28 11:09:58 -05:00
Micah Halter 940fd4b7ab fix(heirline): fix astronvim.get_hlgroup usage 2023-01-30 20:20:36 -05:00
Micah Halter 5a93e3dd9c refactor: remove astronvim_theme options 2023-01-24 20:27:55 -05:00
Micah Halter e26457c13e docs: add README with basic instructions 2023-01-14 14:24:08 -05:00
Micah Halter aac7f99b05 feat: initial push with a fully separated and organized user configuration for AstroNvim v3 2023-01-14 14:17:03 -05:00
36 changed files with 630 additions and 530 deletions
+1
View File
@@ -0,0 +1 @@
lazy-lock.json
+7
View File
@@ -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"
+20 -4
View File
@@ -1,18 +1,34 @@
# AstroNvim configuration # AstroNvim Template
**NOTE:** This is for AstroNvim v4+ **NOTE:** This is for AstroNvim v6+
A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim)
## 🛠️ Installation ## 🛠️ 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 #### Clone the repository
```shell ```shell
git clone https://gitea.logerais.com/xavier/config-astronvim.git ~/.config/astronvim git clone https://github.com/<your_user>/<your_repository> ~/.config/nvim
``` ```
#### Start Neovim #### Start Neovim
```shell ```shell
export NVIM_APPNAME=astronvim
nvim nvim
``` ```
+9 -1
View File
@@ -1,10 +1,18 @@
-- This file simply bootstraps the installation of Lazy.nvim and then calls other files for execution -- 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. -- 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" 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 if not (vim.env.LAZY or (vim.uv or vim.loop).fs_stat(lazypath)) then
-- stylua: ignore -- stylua: ignore
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath }) local result = vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
if vim.v.shell_error ~= 0 then
-- stylua: ignore
vim.api.nvim_echo({ { ("Error cloning lazy.nvim:\n%s\n"):format(result), "ErrorMsg" }, { "Press any key to exit...", "MoreMsg" } }, true, {})
vim.fn.getchar()
vim.cmd.quit()
end
end end
vim.opt.rtp:prepend(lazypath) vim.opt.rtp:prepend(lazypath)
-- validate that lazy is available -- validate that lazy is available
+98 -2
View File
@@ -1,5 +1,3 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroCommunity: import any community modules here -- AstroCommunity: import any community modules here
-- We import this file in `lazy_setup.lua` before the `plugins/` folder. -- We import this file in `lazy_setup.lua` before the `plugins/` folder.
-- This guarantees that the specs are processed before any user plugins. -- This guarantees that the specs are processed before any user plugins.
@@ -9,4 +7,102 @@ return {
"AstroNvim/astrocommunity", "AstroNvim/astrocommunity",
{ import = "astrocommunity.pack.lua" }, { import = "astrocommunity.pack.lua" },
-- import/override with your plugins folder -- import/override with your plugins folder
--
-- Personal config
--
-- Packs
{ import = "astrocommunity.pack.bash" },
{ import = "astrocommunity.pack.chezmoi" },
{ import = "astrocommunity.pack.json" },
{ import = "astrocommunity.pack.yaml" },
{ import = "astrocommunity.pack.toml" },
{ import = "astrocommunity.pack.markdown" },
{ import = "astrocommunity.pack.python" },
-- { import = "astrocommunity.pack.ruby" },
-- { import = "astrocommunity.pack.java" },
-- { import = "astrocommunity.pack.html-css" },
-- { import = "astrocommunity.pack.angular" },
{ import = "astrocommunity.pack.ansible" },
{ import = "astrocommunity.pack.terraform" },
{ import = "astrocommunity.pack.docker" },
{ import = "astrocommunity.pack.helm" },
-- { import = "astrocommunity.pack.rainbow-delimiter-indent-blankline" },
-- Recipes
{ import = "astrocommunity.recipes.disable-tabline" },
{ import = "astrocommunity.recipes.heirline-mode-text-statusline" },
{ import = "astrocommunity.recipes.heirline-vscode-winbar" },
{ import = "astrocommunity.recipes.cache-colorscheme" },
{ import = "astrocommunity.recipes.neo-tree-dark" },
{ import = "astrocommunity.recipes.neovide" },
{ import = "astrocommunity.recipes.ai" },
-- Completion
{ import = "astrocommunity.completion.blink-cmp-git" },
{ import = "astrocommunity.completion.blink-cmp-emoji" },
{ import = "astrocommunity.completion.cmp-nerdfont" },
{ import = "astrocommunity.completion.copilot-lua-cmp" },
-- { import = "astrocommunity.completion.cmp-spell" },
-- AI
{ import = "astrocommunity.ai.copilotchat-nvim" },
-- { import = "astrocommunity.completion.minuet-ai-nvim" },
-- Telescope
{ import = "astrocommunity.terminal-integration.toggleterm-manager-nvim" }, -- A Telescope extension to manage Toggleterm's terminals in NeoVim
-- { import = "astrocommunity.file-explorer.telescope-file-browser-nvim" },
-- Colorschemes
{ import = "astrocommunity.colorscheme.vscode-nvim" },
{ import = "astrocommunity.colorscheme.github-nvim-theme" },
{ import = "astrocommunity.colorscheme.neosolarized-nvim" },
{ import = "astrocommunity.colorscheme.nord-nvim" },
{ import = "astrocommunity.colorscheme.nordic-nvim" },
{ import = "astrocommunity.colorscheme.iceberg-vim" },
{ import = "astrocommunity.colorscheme.tokyodark-nvim" },
{ import = "astrocommunity.colorscheme.tokyonight-nvim" },
{ import = "astrocommunity.colorscheme.onedarkpro-nvim" },
-- Individual plugins (misc)
{ import = "astrocommunity.diagnostics.trouble-nvim" },
{ import = "astrocommunity.motion.marks-nvim" }, -- Display marks in the sign column
{ import = "astrocommunity.git.diffview-nvim" },
{ import = "astrocommunity.markdown-and-latex.render-markdown-nvim" },
-- { import = "astrocommunity.markdown-and-latex.markview-nvim" },
{ import = "astrocommunity.programming-language-support.kulala-nvim" }, -- A minimal HTTP-client interface for Neovim
{ import = "astrocommunity.indent.indent-rainbowline" },
{ import = "astrocommunity.editing-support.nvim-devdocs" },
-- { import = "astrocommunity.workflow.hardtime-nvim" }, -- Display hints to get rid of bad habits
-- Disabled
-- { import = "astrocommunity.bars-and-lines.smartcolumn-nvim" }, -- display a column when text width exceed defined limit
-- { import = "astrocommunity.editing-support.chatgpt-nvim" },
-- { import = "astrocommunity.programming-language-support.rest-nvim" },
-- { import = "astrocommunity.project.project-nvim" },
-- Individual plugins customization
-- {
-- "nvim-treesitter/nvim-treesitter",
-- opts = function(_, opts)
-- local utils = require "astronvim.utils"
-- if opts.ensure_installed ~= "all" then
-- opts.ensure_installed = utils.list_insert_unique(opts.ensure_installed,
-- { "lua", "xml", "http", "json", "graphql" })
-- end
-- end,
-- },
-- Now provided by core
-- { import = "astrocommunity.bars-and-lines.vim-illuminate" }, -- highlight other uses of the word under cursor
-- { import = "astrocommunity.editing-support.todo-comments-nvim" },
} }
-72
View File
@@ -1,72 +0,0 @@
vim.api.nvim_create_autocmd(
"FileType", {
desc = "Customizations for groovy files",
pattern = { "groovy", "Jenkinsfile" },
callback = function()
local utils = require('astrocore')
utils.notify("Loading autocmd customizations for groovy files")
-- Terminal settings
-- Define prefered options for the terminal
-- local command = string.format(" groovy %s", vim.api.nvim_buf_get_name(0))
local name = "groovy"
local command = " groovysh"
local direction = "horizontal"
local size = 25
local toggle_key = "<F10>"
-- Define a new terminal dedicated to groovy
local toggleterm = require('toggleterm')
local Terminal = require('toggleterm.terminal').Terminal
local groovy = Terminal:new({
name = name,
cmd = command,
direction = direction,
size = size,
hidden = true,
close_on_exit = true,
})
-- Spawn in background so it will be ready to execute code
groovy:spawn()
-- -- Define a function to run code from current buffer in the terminal
-- function _Groovy_buffer_exec()
-- if not groovy:is_open() then groovy:open(size, direction) end
-- groovy:send(' clear', true)
-- groovy:send(command, true)
-- end
--
-- Define a function to run code from visual selection in the terminal
function _Groovy_visual_exec()
if not groovy:is_open() then groovy:open(size, direction) end
toggleterm.send_lines_to_terminal("visual_lines", true, { groovy.id })
end
-- Define a keymap to run the current buffer in the terminal
vim.keymap.set({ 'n', 'i', 'v', 't' }, '<F10>', function() groovy:toggle(size, direction) end,
{ noremap = true, silent = true })
vim.api.nvim_set_keymap("v", "<F22>", "<cmd>lua _Groovy_visual_exec()<cr>", { noremap = true, silent = true })
-- Vim settings
vim.opt_local.signcolumn = 'auto'
vim.opt_local.foldcolumn = 'auto'
vim.opt_local.makeprg = 'groovy %'
vim.keymap.set({ 'n', 'i', 'v' }, '<F5>', ':make<CR>', { buffer = true })
-- vim.keymap.nnoremap { '<leader>²x', ':make<CR>' }
-- vim.keymap.inoremap { '<leader>²x', '<ESC>:make<CR>' }
-- DevDocs
require('nvim-devdocs').setup({
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
})
vim.keymap.set({ 'n', 'i', 'v' }, '<F1>', ':DevdocsOpen groovy-2.4<CR>', { buffer = true })
end,
}
)
-4
View File
@@ -1,4 +0,0 @@
require "custom.autocmds.text"
require "custom.autocmds.terminal"
require "custom.autocmds.groovy"
require "custom.autocmds.python"
-87
View File
@@ -1,87 +0,0 @@
vim.api.nvim_create_autocmd(
"FileType", {
pattern = { "python" },
desc = "Customizations for python files",
callback = function()
local utils = require('astrocore')
utils.notify("Loading autocmd customizations for python files")
-- Terminal settings
-- Define prefered options for the terminal
local name = "python"
local direction = "vertical"
local size = 100
-- Define a new terminal dedicated to python
local Terminal = require('toggleterm.terminal').Terminal
local python = Terminal:new({
name = name,
size = size,
direction = direction,
hidden = true,
-- close_on_exit = true,
})
-- Spawn it in background so it will be ready to execute code
python:spawn()
-- Define a function to toggle the terminal
function _Python_terminal_toggle()
python:toggle(size, direction)
end
-- Define a function to run code from current buffer in the terminal
function _Python_buffer_exec()
local command = string.format(" python %s", vim.api.nvim_buf_get_name(0))
if not python:is_open() then python:open(size, direction) end
python:send(' clear', true)
python:send(command, true)
end
-- Define a keymap to run the current buffer in the terminal
-- <F10> corresponds to F10 on my keyboard
-- <F22> corresponds to Shift + F10 on my keyboard
-- <F34> corresponds to Ctrl + F10 on my keyboard
vim.api.nvim_set_keymap("n", "<F10>",
"<cmd>lua _Python_terminal_toggle()<cr>",
{ noremap = true, silent = true })
vim.api.nvim_set_keymap("i", "<F10>",
"<cmd>lua _Python_terminal_toggle()<cr>",
{ noremap = true, silent = true })
vim.api.nvim_set_keymap("t", "<F10>",
"<cmd>lua _Python_terminal_toggle()<cr>",
{ noremap = true, silent = true })
vim.api.nvim_set_keymap("n", "<F34>",
-- "<cmd>TermExec name=python cmd='python %'<cr>",
'<cmd>lua _Python_buffer_exec()<cr>',
{ noremap = true, silent = true })
vim.api.nvim_set_keymap("i", "<F34>",
-- "<cmd>TermExec name=python cmd='python %'<cr>",
'<cmd>lua _Python_buffer_exec()<cr>',
{ noremap = true, silent = true })
vim.api.nvim_set_keymap("t", "<F34>",
-- "<cmd>TermExec name=python cmd='python %'<cr>",
'<cmd>lua _Python_buffer_exec()<cr>',
{ noremap = true, silent = true })
utils.notify("Type <F10> to toggle the python terminal")
utils.notify("Type Ctrl+<F10> to run current buffer in the python terminal")
-- DevDocs
require('nvim-devdocs').setup({
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
})
vim.keymap.set({ 'n', 'i', 'v' }, '<F1>', ':DevdocsOpen python-3.10<CR>', { buffer = true })
utils.notify("Type <F1> to access DevDocs documentation for python")
-- Vim settings
vim.opt_local.signcolumn = "auto"
vim.opt_local.foldcolumn = "auto"
end,
}
)
-6
View File
@@ -1,6 +0,0 @@
vim.api.nvim_create_autocmd("TermOpen", {
desc = "Auto switch to insert mode for terminal",
group = vim.api.nvim_create_augroup("term_auto_insert", { clear = true }),
pattern = "term://*",
command = "startinsert",
})
-9
View File
@@ -1,9 +0,0 @@
vim.api.nvim_create_autocmd("FileType", {
desc = "Enable wrap and spell for text like documents",
group = vim.api.nvim_create_augroup("auto_spell", { clear = true }),
pattern = { "gitcommit", "markdown", "text", "plaintex" },
callback = function()
vim.opt_local.wrap = true
vim.opt_local.spell = true
end,
})
-67
View File
@@ -1,67 +0,0 @@
-- 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
--
-- Personal config
--
-- Packs
{ import = "astrocommunity.pack.bash" },
{ import = "astrocommunity.pack.json" },
{ import = "astrocommunity.pack.yaml" },
{ import = "astrocommunity.pack.toml" },
-- { import = "astrocommunity.pack.markdown" },
-- { import = "astrocommunity.pack.ansible" },
-- { import = "astrocommunity.pack.docker" },
-- { import = "astrocommunity.pack.helm" },
-- { import = "astrocommunity.pack.terraform" },
-- { import = "astrocommunity.pack.python" },
-- { import = "astrocommunity.pack.java" },
-- { import = "astrocommunity.pack.html-css" },
-- { import = "astrocommunity.pack.angular" },
-- Individual plugins (misc)
-- { import = "astrocommunity.bars-and-lines.smartcolumn-nvim" },
-- { import = "astrocommunity.completion.copilot-lua-cmp" },
{ import = "astrocommunity.diagnostics.trouble-nvim" },
{ import = "astrocommunity.editing-support.rainbow-delimiters-nvim" },
{ import = "astrocommunity.editing-support.nvim-devdocs" },
-- { import = "astrocommunity.editing-support.chatgpt-nvim" },
{ import = "astrocommunity.indent.indent-rainbowline" },
{ import = "astrocommunity.programming-language-support.rest-nvim" },
{ import = "astrocommunity.project.project-nvim" },
-- Individual plugins (colorschemes)
{ import = "astrocommunity.colorscheme.vscode-nvim" },
{ import = "astrocommunity.colorscheme.github-nvim-theme" },
{ import = "astrocommunity.colorscheme.onedarkpro-nvim" },
{ import = "astrocommunity.colorscheme.tokyonight-nvim" },
{ import = "astrocommunity.colorscheme.tokyodark-nvim" },
{ import = "astrocommunity.colorscheme.neosolarized-nvim" },
{ import = "astrocommunity.colorscheme.nord-nvim" },
{ import = "astrocommunity.colorscheme.nordic-nvim" },
{ import = "astrocommunity.colorscheme.iceberg-vim" },
-- Individual plugins customization
-- {
-- "nvim-treesitter/nvim-treesitter",
-- opts = function(_, opts)
-- local utils = require "astronvim.utils"
-- if opts.ensure_installed ~= "all" then
-- opts.ensure_installed = utils.list_insert_unique(opts.ensure_installed,
-- { "lua", "xml", "http", "json", "graphql" })
-- end
-- end,
-- },
--
-- Now provided by core
-- { import = "astrocommunity.bars-and-lines.vim-illuminate" },
-- { import = "astrocommunity.editing-support.todo-comments-nvim" },
}
-1
View File
@@ -1 +0,0 @@
require "custom.filetypes.jenkins"
-8
View File
@@ -1,8 +0,0 @@
vim.filetype.add {
filename = {
["Jenkinsfile"] = "groovy",
},
extension = {
Jenkinsfile = "groovy",
},
}
-89
View File
@@ -1,89 +0,0 @@
-- 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 = {
-- vim options can be configured here
options = {
opt = {
-- cmdheight = 1, -- Always show command line
scrolloff = 0, -- Set scroll offset to zero so that zt and zb work as expected
-- number = true, -- sets vim.opt.number
relativenumber = false, -- sets vim.opt.relativenumber
-- signcolumn = "auto", -- sets vim.opt.signcolumn to auto
-- foldcolumn = "auto", -- sets vim.opt.foldcolumn to auto
-- spell = false, -- sets vim.opt.spell
spelllang = "fr", -- Set spell language to french
-- wrap = false, -- sets vim.opt.wrap
},
},
-- Mappings can be configured through AstroCore as well.
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
mappings = {
-- Normal mode
n = {
-- ["<Leader>bb"] = { "<cmd>tabnew<cr>", desc = "New tab" },
-- ["<Leader>bc"] = { "<cmd>BufferLinePickClose<cr>", desc = "Pick to close" },
-- ["<Leader>bj"] = { "<cmd>BufferLinePick<cr>", desc = "Pick to jump" },
-- ["<Leader>bt"] = { "<cmd>BufferLineSortByTabs<cr>", desc = "Sort by tabs" },
-- Easy buffer navigation
["<tab>"] = { "<cmd>bnext<cr>", desc = "Switch to next buffer" },
["<S-tab>"] = { "<cmd>bprevious<cr>", desc = "Switch to previous buffer" },
-- quick save
-- ["<C-s>"] = { ":w!<cr>", desc = "Save File" }, -- change description but the same command
-- My telescope keybindings
["<Leader>gf"] = { "<cmd>Telescope git_files<cr>", desc = "Find git files with Telescope" },
["<Leader>fq"] = { "<cmd>Telescope quickfix<cr>", desc = "Find quickfixes with Telescope" },
["<Leader>fs"] = { "<cmd>Telescope spell_suggest<cr>", desc = "Find spell suggestions with Telescope" },
["<Leader>fp"] = { "<cmd>Telescope projects<cr>", desc = "Find projetcs with Telescope" },
-- My personal keybindings
["<Leader>²"] = { name = "Personal" },
["<Leader>²t"] = { name = "Terminals" },
["<Leader>²tt"] = { "<cmd>TermSelect<cr>", desc = "Select a terminal" },
["<Leader>²tg"] = { "<cmd>terminal tig<cr>", desc = "Open tig in a new tab" },
["<Leader>²n"] = { name = "Neotree" },
["<Leader>²nb"] = { "<cmd>Neotree toggle buffers left<cr>", desc = "Open Neotree Buffers" },
["<Leader>²ng"] = { "<cmd>Neotree toggle git_status left<cr>", desc = "Open Neotree Git status" },
-- ["<F1>"] = { "<cmd>Telescope help_tags<cr>", desc = "Find help with Telescope" },
["<F2>"] = { "<cmd>Neotree toggle<cr>", desc = "File Explorer" }, -- F26 corresponds to <Ctrl+F2> on my keyboard
["<F3>"] = { function() require("astrocore").toggle_term_cmd({cmd="lazygit", direction="float"}) end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard
["<F4>"] = { function() require("astrocore").toggle_term_cmd({cmd="tig", direction="float"}) end, desc = "Tig terminal" }, -- F28 corresponds to <Ctrl+F4> on my keyboard
},
-- Insert mode
i = {
["<F2>"] = { "<cmd>Neotree toggle<cr>", desc = "File Explorer" }, -- F26 corresponds to <Ctrl+F2> on my keyboard
["<F3>"] = { function() require("astrocore").toggle_term_cmd({cmd="lazygit", direction="float"}) end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard
["<F4>"] = { function() require("astrocore").toggle_term_cmd({cmd="tig", direction="float"}) end, desc = "Tig terminal" }, -- F28 corresponds to <Ctrl+F4> on my keyboard
},
-- Terminal mode
t = {
-- setting a mapping to false will disable it
-- ["<esc>"] = false,
-- Switch to normal mode in terminal mode
["<Esc><Esc><Esc>"] = { "<C-\\><C-n>" },
-- Clear Ctrl+l so that we can use it to clear the terminal
["<C-l>"] = false,
["<C-h>"] = false,
-- Clear Ctrl-J and Ctrl-K so that we can use them to navigate the terminal (for lazygit)
["<C-j>"] = false,
["<C-k>"] = false,
-- My terms
["<F3>"] = { function() require("astrocore").toggle_term_cmd({cmd="lazygit", direction="float"}) end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard
["<F4>"] = { function() require("astrocore").toggle_term_cmd({cmd="tig", direction="float"}) end, desc = "Tig terminal" }, -- F28 corresponds to <Ctrl+F4> on my keyboard
},
},
},
}
-14
View File
@@ -1,14 +0,0 @@
-- 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/astroui",
---@type AstroUIOpts
opts = {
-- change colorscheme
colorscheme = "github_dark",
},
}
-8
View File
@@ -1,8 +0,0 @@
return {
-- { "jacoborus/tender.vim", lazy = false },
-- { "altercation/vim-colors-solarized", lazy = false },
-- { "bluz71/vim-moonfly-colors", lazy = false },
-- { "ray-x/aurora", lazy = false },
-- { "rmehri01/onenord.nvim" },
{ "joshdick/onedark.vim" },
}
-4
View File
@@ -1,4 +0,0 @@
return {
-- direnv
{ "direnv/direnv.vim", lazy = false },
}
-13
View File
@@ -1,13 +0,0 @@
return {
"nvim-telescope/telescope.nvim",
dependencies = {
"nvim-telescope/telescope-file-browser.nvim",
"da-moon/telescope-toggleterm.nvim",
},
config = function(...)
require "plugins.configs.telescope"(...)
local telescope = require "telescope"
telescope.load_extension "file_browser"
telescope.load_extension "toggleterm"
end,
}
+29 -31
View File
@@ -1,34 +1,32 @@
require("lazy").setup({ require("lazy").setup({
{ {
"AstroNvim/AstroNvim", "AstroNvim/AstroNvim",
version = "^4", -- Remove version tracking to elect for nighly AstroNvim version = "^6", -- Remove version tracking to elect for nightly AstroNvim
import = "astronvim.plugins", import = "astronvim.plugins",
opts = { -- AstroNvim options must be set here with the `import` key 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 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 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) 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 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 update_notifications = true, -- Enable/disable notification about running `:Lazy update` twice to update pinned plugins
}, },
}, },
{ import = "community" }, { import = "community" },
{ import = "custom.community" }, { import = "plugins" },
{ import = "plugins" },
{ import = "custom.plugins" },
} --[[@as LazySpec]], { } --[[@as LazySpec]], {
-- Configure any other `lazy.nvim` configuration options here -- Configure any other `lazy.nvim` configuration options here
install = { colorscheme = { "astrodark", "habamax" } }, install = { colorscheme = { "astrotheme", "habamax" } },
ui = { backdrop = 100 }, ui = { backdrop = 100 },
performance = { performance = {
rtp = { rtp = {
-- disable some rtp plugins, add more to your liking -- disable some rtp plugins, add more to your liking
disabled_plugins = { disabled_plugins = {
"gzip", -- "gzip",
"netrwPlugin", -- "netrwPlugin",
"tarPlugin", -- "tarPlugin",
"tohtml", "tohtml",
"zipPlugin", "zipPlugin",
}, },
}, },
}, },
} --[[@as LazyConfig]]) } --[[@as LazyConfig]])
+108 -7
View File
@@ -1,5 +1,3 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroCore provides a central place to modify mappings, vim options, autocommands, and more! -- AstroCore provides a central place to modify mappings, vim options, autocommands, and more!
-- Configuration documentation can be found with `:h astrocore` -- Configuration documentation can be found with `:h astrocore`
-- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`) -- NOTE: We highly recommend setting up the Lua Language Server (`:LspInstall lua_ls`)
@@ -12,10 +10,10 @@ return {
opts = { opts = {
-- Configure core features of AstroNvim -- Configure core features of AstroNvim
features = { features = {
large_buf = { size = 1024 * 500, lines = 10000 }, -- set global limits for large files for disabling features like treesitter large_buf = { size = 1024 * 256, lines = 10000 }, -- set global limits for large files for disabling features like treesitter
autopairs = true, -- enable autopairs at start autopairs = true, -- enable autopairs at start
cmp = true, -- enable completion 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) diagnostics = { virtual_text = true, virtual_lines = false }, -- diagnostic settings on startup
highlighturl = true, -- highlight URLs at start highlighturl = true, -- highlight URLs at start
notifications = true, -- enable notifications at start notifications = true, -- enable notifications at start
}, },
@@ -24,12 +22,65 @@ return {
virtual_text = true, virtual_text = true,
underline = true, underline = true,
}, },
-- passed to `vim.filetype.add`
filetypes = {
-- see `:h vim.filetype.add` for usage
extension = {
foo = "fooscript",
},
filename = {
[".foorc"] = "fooscript",
},
pattern = {
[".*/etc/foo/.*"] = "fooscript",
},
},
-- Commands
commands = {
CleanYamlSpaces = {
function()
if vim.bo.filetype == 'yaml' or vim.bo.filetype == 'yml' then
local cursor_pos = vim.api.nvim_win_get_cursor(0)
vim.cmd([[%s/\s\+$//e]])
vim.api.nvim_win_set_cursor(0, cursor_pos)
print("Espaces en fin de ligne supprimés")
else
print("Cette commande ne fonctionne que sur les fichiers YAML")
end
end,
desc = "Nettoie les espaces en fin de ligne dans les fichiers YAML",
},
},
-- Autocmd
autocmds = {
yaml_trailing_spaces = {
{
event = { "BufRead", "BufNewFile" },
pattern = { "*.yaml", "*.yml" },
callback = function()
vim.fn.matchadd("TrailingWhiteSpace", "\\s\\+$")
end,
desc = "Surligne les espaces en fin de ligne dans les fichiers YAML",
},
{
event = "BufWritePre",
pattern = { "*.yaml", "*.yml" },
callback = function()
local cursor_pos = vim.api.nvim_win_get_cursor(0)
vim.cmd([[%s/\s\+$//e]])
vim.api.nvim_win_set_cursor(0, cursor_pos)
end,
desc = "Nettoie les espaces en fin de ligne avant sauvegarde",
},
},
},
-- vim options can be configured here -- vim options can be configured here
options = { options = {
opt = { -- vim.opt.<key> opt = { -- vim.opt.<key>
relativenumber = true, -- sets vim.opt.relativenumber
number = true, -- sets vim.opt.number number = true, -- sets vim.opt.number
relativenumber = true, -- sets vim.opt.relativenumber
spell = false, -- sets vim.opt.spell spell = false, -- sets vim.opt.spell
spelllang = "fr", -- Set spell language to french
signcolumn = "yes", -- sets vim.opt.signcolumn to yes signcolumn = "yes", -- sets vim.opt.signcolumn to yes
wrap = false, -- sets vim.opt.wrap wrap = false, -- sets vim.opt.wrap
}, },
@@ -47,8 +98,8 @@ return {
-- second key is the lefthand side of the map -- second key is the lefthand side of the map
-- navigate buffer tabs -- 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 = "Next buffer" },
["]b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" }, ["[b"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
-- mappings seen under group name "Buffer" -- mappings seen under group name "Buffer"
["<Leader>bd"] = { ["<Leader>bd"] = {
@@ -59,6 +110,8 @@ return {
end, end,
desc = "Close buffer from tabline", desc = "Close buffer from tabline",
}, },
["<Leader>bp"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
["<Leader>bn"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" },
-- tables with just a `desc` key will be registered with which-key if it's installed -- tables with just a `desc` key will be registered with which-key if it's installed
-- this is useful for naming menus -- this is useful for naming menus
@@ -66,6 +119,54 @@ return {
-- setting a mapping to false will disable it -- setting a mapping to false will disable it
-- ["<C-S>"] = false, -- ["<C-S>"] = false,
-- Normal mode : Custom mappings
["<F2>"] = { "<cmd>Neotree toggle<cr>", desc = "File Explorer" }, -- F26 corresponds to <Ctrl+F2> on my keyboard
["<F3>"] = {
function() require("astrocore").toggle_term_cmd { cmd = "lazygit", direction = "float" } end,
desc = "Lazygit terminal",
},
["<F4>"] = {
function() require("astrocore").toggle_term_cmd { cmd = "tig", direction = "float" } end,
desc = "Tig terminal",
},
},
-- Insert mode : Custom mappings
i = {
["<F2>"] = { "<cmd>Neotree toggle<cr>", desc = "File Explorer" }, -- F26 corresponds to <Ctrl+F2> on my keyboard
["<F3>"] = {
function() require("astrocore").toggle_term_cmd { cmd = "lazygit", direction = "float" } end,
desc = "Lazygit terminal",
},
["<F4>"] = {
function() require("astrocore").toggle_term_cmd { cmd = "tig", direction = "float" } end,
desc = "Tig terminal",
},
},
-- INFO:
-- F26 corresponds to <Ctrl+F2> on my keyboard
-- F27 corresponds to <Ctrl+F3> on my keyboard
-- F28 corresponds to <Ctrl+F4> on my keyboard
-- Terminal mode : Custom mappings
t = {
-- Switch to normal mode in terminal mode
["<Esc><Esc><Esc>"] = { "<C-\\><C-n>" },
-- Clear Ctrl+l so that we can use it to clear the terminal
["<C-l>"] = false,
["<C-h>"] = false,
-- Clear Ctrl-J and Ctrl-K so that we can use them to navigate the terminal (for lazygit)
["<C-j>"] = false,
["<C-k>"] = false,
-- My terms
["<F3>"] = {
function() require("astrocore").toggle_term_cmd { name = "LazyGit", cmd = "lazygit", direction = "float" } end,
desc = "Lazygit terminal",
}, -- F27 corresponds to <Ctrl+F3> on my keyboard
["<F4>"] = {
function() require("astrocore").toggle_term_cmd { name = "Tig", cmd = "tig", direction = "float" } end,
desc = "Tig terminal",
}, -- F28 corresponds to <Ctrl+F4> on my keyboard
}, },
}, },
}, },
+9 -11
View File
@@ -12,7 +12,6 @@ return {
opts = { opts = {
-- Configuration table of features provided by AstroLSP -- Configuration table of features provided by AstroLSP
features = { features = {
autoformat = true, -- enable or disable auto formatting on start
codelens = true, -- enable/disable codelens refresh on start codelens = true, -- enable/disable codelens refresh on start
inlay_hints = false, -- enable/disable inlay hints on start inlay_hints = false, -- enable/disable inlay hints on start
semantic_tokens = true, -- enable/disable semantic token highlighting semantic_tokens = true, -- enable/disable semantic token highlighting
@@ -42,19 +41,18 @@ return {
servers = { servers = {
-- "pyright" -- "pyright"
}, },
-- customize language server configuration options passed to `lspconfig` -- customize language server configuration passed to `vim.lsp.config`
---@diagnostic disable: missing-fields -- client specific configuration can also go in `lsp/` in your configuration root (see `:h lsp-config`)
config = { config = {
-- clangd = { capabilities = { offsetEncoding = "utf-8" } }, -- ["*"] = { capabilities = {} }, -- modify default LSP client settings such as capabilities
}, },
-- customize how language servers are attached -- customize how language servers are attached
handlers = { 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 -- a function with the key `*` modifies the default handler, functions takes the server name as the parameter
-- function(server, opts) require("lspconfig")[server].setup(opts) end -- ["*"] = function(server) vim.lsp.enable(server) end
-- the key is the server that is being setup with `lspconfig` -- the key is the server that is being setup with `vim.lsp.config`
-- rust_analyzer = false, -- setting a handler to false will disable the set up of that language server -- 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 -- Configure buffer local auto commands to add when attaching a language server
autocmds = { autocmds = {
@@ -73,7 +71,7 @@ return {
-- the rest of the autocmd options (:h nvim_create_autocmd) -- the rest of the autocmd options (:h nvim_create_autocmd)
desc = "Refresh codelens (buffer)", desc = "Refresh codelens (buffer)",
callback = function(args) callback = function(args)
if require("astrolsp").config.features.codelens then vim.lsp.codelens.refresh { bufnr = args.buf } end if require("astrolsp").config.features.codelens then vim.lsp.codelens.enable(true, { bufnr = args.buf }) end
end, end,
}, },
}, },
@@ -91,13 +89,13 @@ return {
function() require("astrolsp.toggles").buffer_semantic_tokens() end, function() require("astrolsp.toggles").buffer_semantic_tokens() end,
desc = "Toggle LSP semantic highlight (buffer)", desc = "Toggle LSP semantic highlight (buffer)",
cond = function(client) cond = function(client)
return client.supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens return client:supports_method "textDocument/semanticTokens/full" and vim.lsp.semantic_tokens ~= nil
end, end,
}, },
}, },
}, },
-- A custom `on_attach` function to be run after the default `on_attach` function -- A custom `on_attach` function to be run after the default `on_attach` function
-- takes two parameters `client` and `bufnr` (`:h lspconfig-setup`) -- takes two parameters `client` and `bufnr` (`:h lsp-attach`)
on_attach = function(client, bufnr) on_attach = function(client, bufnr)
-- this would disable semanticTokensProvider for all clients -- this would disable semanticTokensProvider for all clients
-- client.server_capabilities.semanticTokensProvider = nil -- client.server_capabilities.semanticTokensProvider = nil
+2 -1
View File
@@ -1,4 +1,4 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE -- if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- AstroUI provides the basis for configuring the AstroNvim User Interface -- AstroUI provides the basis for configuring the AstroNvim User Interface
-- Configuration documentation can be found with `:h astroui` -- Configuration documentation can be found with `:h astroui`
@@ -16,6 +16,7 @@ return {
highlights = { highlights = {
init = { -- this table overrides highlights in all themes init = { -- this table overrides highlights in all themes
-- Normal = { bg = "#000000" }, -- Normal = { bg = "#000000" },
TrailingWhiteSpace = { bg = "red" },
}, },
astrodark = { -- a table of overrides/changes when applying the astrotheme theme astrodark = { -- a table of overrides/changes when applying the astrotheme theme
-- Normal = { bg = "#000000" }, -- Normal = { bg = "#000000" },
+37
View File
@@ -0,0 +1,37 @@
return {
{
-- The improved vscode terminal for Neovim written in pure lua
"CRAG666/betterTerm.nvim",
opts = {
prefix = "betterTerm ",
position = "bot",
size = 25,
},
keys = {
{
mode = { 'n', 't' },
'<leader>t&',
function()
require('betterTerm').open(1)
end,
desc = 'Open betterTerm 1',
},
{
mode = { 'n', 't' },
'<leader>té',
function()
require('betterTerm').open(2)
end,
desc = 'Open betterTerm 2',
},
{
'<leader>tS',
function()
require('betterTerm').select()
end,
desc = 'Select a betterTerm terminal',
}
},
},
}
+62
View File
@@ -0,0 +1,62 @@
local prefix = "<Leader>A"
---@type LazySpec
return {
{
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
{
"AstroNvim/astrocore",
---@param opts AstroCoreOpts
opts = function(_, opts)
if not opts.mappings then opts.mappings = {} end
opts.mappings.n[prefix] = { desc = require("astroui").get_icon("CodeCompanion", 1, true) .. "CodeCompanion" }
opts.mappings.v[prefix] = { desc = require("astroui").get_icon("CodeCompanion", 1, true) .. "CodeCompanion" }
opts.mappings.n[prefix .. "c"] = { "<cmd>CodeCompanionChat Toggle<cr>", desc = "Toggle chat" }
opts.mappings.v[prefix .. "c"] = { "<cmd>CodeCompanionChat Toggle<cr>", desc = "Toggle chat" }
opts.mappings.n[prefix .. "p"] = { "<cmd>CodeCompanionActions<cr>", desc = "Open action palette" }
opts.mappings.v[prefix .. "p"] = { "<cmd>CodeCompanionActions<cr>", desc = "Open action palette" }
opts.mappings.n[prefix .. "q"] = { "<cmd>CodeCompanion<cr>", desc = "Open inline assistant" }
opts.mappings.v[prefix .. "q"] = { "<cmd>CodeCompanion<cr>", desc = "Open inline assistant" }
opts.mappings.v[prefix .. "a"] = { "<cmd>CodeCompanionChat Add<cr>", desc = "Add selection to chat" }
-- Expand cc to CodeCompanion in cmdline mode
vim.cmd [[cab cc CodeCompanion]]
end,
},
{ "AstroNvim/astroui", opts = { icons = { CodeCompanion = "󱙺" } } },
},
event = "User AstroFile",
cmd = {
"CodeCompanion",
"CodeCompanionActions",
"CodeCompanionChat",
"CodeCompanionCmd",
},
opts = {
strategies = {
chat = {
adapter = "mistral",
},
inline = {
adapter = "mistral",
},
},
},
},
{
"MeanderingProgrammer/render-markdown.nvim",
optional = true,
opts = function(_, opts)
if not opts.file_types then opts.file_types = { "markdown" } end
opts.file_types = require("astrocore").list_insert_unique(opts.file_types, { "codecompanion" })
end,
},
}
+63
View File
@@ -0,0 +1,63 @@
return {
{
-- Incline is a plugin for creating lightweight floating statuslines.
-- It works great with Neovim's global statusline (:set laststatus=3)
'b0o/incline.nvim',
config = function()
local devicons = require 'nvim-web-devicons'
require('incline').setup {
render = function(props)
local filename = vim.fn.fnamemodify(vim.api.nvim_buf_get_name(props.buf), ':t')
if filename == '' then
filename = '[No Name]'
end
local ft_icon, ft_color = devicons.get_icon_color(filename)
local function get_git_diff()
local icons = { removed = '', changed = '', added = '' }
local signs = vim.b[props.buf].gitsigns_status_dict
local labels = {}
if signs == nil then
return labels
end
for name, icon in pairs(icons) do
if tonumber(signs[name]) and signs[name] > 0 then
table.insert(labels, { icon .. signs[name] .. ' ', group = 'Diff' .. name })
end
end
if #labels > 0 then
table.insert(labels, { '' })
end
return labels
end
local function get_diagnostic_label()
local icons = { error = '', warn = '', info = '', hint = '' }
local label = {}
for severity, icon in pairs(icons) do
local n = #vim.diagnostic.get(props.buf, { severity = vim.diagnostic.severity[string.upper(severity)] })
if n > 0 then
table.insert(label, { icon .. n .. ' ', group = 'DiagnosticSign' .. severity })
end
end
if #label > 0 then
table.insert(label, { '' })
end
return label
end
return {
{ get_diagnostic_label() },
{ get_git_diff() },
{ (ft_icon or '') .. ' ', guifg = ft_color, guibg = 'none' },
{ filename .. ' ', gui = vim.bo[props.buf].modified and 'bold,italic' or 'bold' },
{ '┊  ' .. vim.api.nvim_win_get_number(props.win), group = 'DevIconWindows' },
}
end,
}
end,
-- Optional: Lazy load Incline
event = 'VeryLazy',
},
}
+19 -33
View File
@@ -1,42 +1,28 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Mason plugins -- Customize Mason
---@type LazySpec ---@type LazySpec
return { return {
-- use mason-lspconfig to configure LSP installations -- use mason-tool-installer for automatically installing Mason packages
{ {
"williamboman/mason-lspconfig.nvim", "WhoIsSethDaniel/mason-tool-installer.nvim",
-- overrides `require("mason-lspconfig").setup(...)` -- overrides `require("mason-tool-installer").setup(...)`
opts = function(_, opts) opts = {
-- add more things to the ensure_installed table protecting against community packs modifying it -- Make sure to use the names found in `:Mason`
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, { ensure_installed = {
"lua_ls", -- install language servers
-- add more arguments for adding more language servers "lua-language-server",
})
end, -- install formatters
},
-- 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 = function(_, opts)
-- add more things to the ensure_installed table protecting against community packs modifying it
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
"stylua", "stylua",
-- add more arguments for adding more null-ls sources
}) -- install debuggers
end, "debugpy",
},
{ -- install any other package
"jay-babu/mason-nvim-dap.nvim", "tree-sitter-cli",
-- overrides `require("mason-nvim-dap").setup(...)` },
opts = function(_, opts) },
-- add more things to the ensure_installed table protecting against community packs modifying it
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, {
"python",
-- add more arguments for adding more debuggers
})
end,
}, },
} }
+71
View File
@@ -0,0 +1,71 @@
-- if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
return {
"milanglacier/minuet-ai.nvim",
opts = {
-- provider = "codestral",
virtualtext = {
auto_trigger_ft = { "sh", "lua", "python", "yaml", "json" },
keymap = {
-- accept whole completion
accept = "<A-y>",
-- accept one line
accept_line = "<A-l>",
-- accept n lines (prompts for number)
-- e.g. "A-z 2 CR" will accept 2 lines
accept_n_lines = "<A-z>",
-- Cycle to prev completion item, or manually invoke completion
prev = "<A-[>",
-- Cycle to next completion item, or manually invoke completion
next = "<A-]>",
-- Dismiss
dismiss = "<A-c>",
},
},
},
-- specs = {
-- "Saghen/blink.cmp",
-- optional = true,
-- opts = {
-- keymap = {
-- -- Manually invoke minuet completion.
-- ["<A-y>"] = require("minuet").make_blink_map(),
-- },
-- sources = {
-- -- Enable minuet for autocomplete
-- default = { "lsp", "path", "buffer", "snippets", "minuet" },
-- -- For manual completion only, remove 'minuet' from default
-- providers = {
-- minuet = {
-- name = "minuet",
-- module = "minuet.blink",
-- async = true,
-- -- Should match minuet.config.request_timeout * 1000,
-- -- since minuet.config.request_timeout is in seconds
-- timeout_ms = 3000,
-- score_offset = 50, -- Gives minuet higher priority among suggestions
-- },
-- },
-- },
-- -- Recommended to avoid unnecessary request
-- completion = { trigger = { prefetch_on_insert = false } },
-- },
-- },
-- specs = {
-- {
-- "AstroNvim/astrocore",
-- opts = {
-- options = {
-- g = {
-- -- set the ai_accept function
-- ai_accept = function()
-- if require("minuet.virtualtext").action.is_visible then
-- vim.api.nvim_input(require("minuet.virtualtext").action.accept_n_lines)
-- return true
-- end
-- end,
-- },
-- },
-- },
-- },
-- },
}
@@ -8,6 +8,8 @@ return {
["<space>"] = false, -- disable space until we figure out which-key disabling ["<space>"] = false, -- disable space until we figure out which-key disabling
[">"] = "next_source", [">"] = "next_source",
["<"] = "prev_source", ["<"] = "prev_source",
["<tab>"] = "next_source",
["<s-tab>"] = "prev_source",
}, },
}, },
event_handlers = { event_handlers = {
+7 -5
View File
@@ -5,18 +5,20 @@ if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
---@type LazySpec ---@type LazySpec
return { return {
"nvimtools/none-ls.nvim", "nvimtools/none-ls.nvim",
opts = function(_, config) opts = function(_, opts)
-- config variable is the default configuration table for the setup function call -- opts variable is the default configuration table for the setup function call
-- local null_ls = require "null-ls" -- local null_ls = require "null-ls"
-- Check supported formatters and linters -- 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/formatting
-- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics -- https://github.com/nvimtools/none-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics
config.sources = {
-- Only insert new sources, do not replace the existing ones
-- (If you wish to replace, use `opts.sources = {}` instead of the `list_insert_unique` function)
opts.sources = require("astrocore").list_insert_unique(opts.sources, {
-- Set a formatter -- Set a formatter
-- null_ls.builtins.formatting.stylua, -- null_ls.builtins.formatting.stylua,
-- null_ls.builtins.formatting.prettier, -- null_ls.builtins.formatting.prettier,
} })
return config -- return final config table
end, end,
} }
+6
View File
@@ -0,0 +1,6 @@
return {
{ "tpope/vim-surround", event = "User AstroFile" },
{ "tpope/vim-speeddating", event = "User AstroFile" },
{ "tpope/vim-repeat", event = "User AstroFile" },
-- { "tpope/vim-fugitive", event = "User AstroFile" },
}
+17 -9
View File
@@ -1,16 +1,24 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- Customize Treesitter -- Customize Treesitter
-- --------------------
-- Treesitter customizations are handled with AstroCore
-- as nvim-treesitter simply provides a download utility for parsers
---@type LazySpec ---@type LazySpec
return { return {
"nvim-treesitter/nvim-treesitter", "AstroNvim/astrocore",
opts = function(_, opts) ---@type AstroCoreOpts
-- add more things to the ensure_installed table protecting against community packs modifying it opts = {
opts.ensure_installed = require("astrocore").list_insert_unique(opts.ensure_installed, { treesitter = {
"lua", highlight = true, -- enable/disable treesitter based highlighting
"vim", indent = true, -- enable/disable treesitter based indentation
-- add more arguments for adding more treesitter parsers auto_install = true, -- enable/disable automatic installation of detected languages
}) ensure_installed = {
end, "lua",
"vim",
-- add more arguments for adding more treesitter parsers
},
},
},
} }
+25 -20
View File
@@ -1,6 +1,7 @@
if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE if true then return {} end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- You can also add or configure plugins by creating files in this `plugins/` folder -- You can also add or configure plugins by creating files in this `plugins/` folder
-- PLEASE REMOVE THE EXAMPLES YOU HAVE NO INTEREST IN BEFORE ENABLING THIS FILE
-- Here are some examples: -- Here are some examples:
---@type LazySpec ---@type LazySpec
@@ -17,26 +18,28 @@ return {
-- == Examples of Overriding Plugins == -- == Examples of Overriding Plugins ==
-- customize alpha options -- customize dashboard options
{ {
"goolord/alpha-nvim", "folke/snacks.nvim",
opts = function(_, opts) opts = {
-- customize the dashboard header dashboard = {
opts.section.header.val = { preset = {
" █████ ███████ ████████ ██████ ██████", header = table.concat({
"██ ██ ██ ██ ██ ██ ██ ██", " █████ ███████ ████████ ██████ ██████ ",
"███████ ███████ ██ ██████ ██ ██", "██ ██ ██ ██ ██ ██ ██ ██",
"██ ██ ██ ██ ██ ██ ██ ██", "███████ ███████ ██ ██████ ██ ██",
"██ ██ ███████ ██ ██ ██ ██████", "██ ██ ██ ██ ██ ██ ██ ██",
" ", "██ ██ ███████ ██ ██ ██ ██████ ",
" ███  ██ ██  ██ ██ ███  ███", "",
"███  ██ ██  ██ ██ ███ ███", "███  ██ ██  ██ ██ ███  ███",
" ████  ██ ██  ██ ██ ██ ████ ██", "████  ██ ██  ██ ██ ████  ████",
" ██ ██ ██ ██  ██  ██ ████ ██", "██ ██  ██ ██  ██ ██ ██ ████ ██",
" ██   ████   ████  ██ ██  ██", "██  ████  ██ ██  ██ ██ ██ ██",
} "██   ████   ████   ██ ██      ██",
return opts }, "\n"),
end, },
},
},
}, },
-- You can disable default plugins as follows: -- You can disable default plugins as follows:
@@ -46,10 +49,12 @@ return {
{ {
"L3MON4D3/LuaSnip", "L3MON4D3/LuaSnip",
config = function(plugin, opts) 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 -- add more custom luasnip configuration such as filetype extend or custom snippets
local luasnip = require "luasnip" local luasnip = require "luasnip"
luasnip.filetype_extend("javascript", { "javascriptreact" }) luasnip.filetype_extend("javascript", { "javascriptreact" })
-- include the default astronvim config that calls the setup call
require "astronvim.plugins.configs.luasnip"(plugin, opts)
end, end,
}, },
+4 -18
View File
@@ -1,19 +1,5 @@
-- This will run last in the setup process and is a good place to configure if true then return end -- WARN: REMOVE THIS LINE TO ACTIVATE THIS FILE
-- things like custom filetypes. This just pure lua so anything that doesn't
-- This will run last in the setup process.
-- This is just pure lua so anything that doesn't
-- fit in the normal config locations above can go here -- fit in the normal config locations above can go here
-- Set up custom autocmds
require("custom.autocmds")
-- Set up custom filetypes
require("custom.filetypes")
--- Remove some mappings in terminal mode
--- that should have been set by other plugins
--- but that are very annoying
--- (maybe related to the smart-splits plugin)
vim.keymap.del("t", "<C-l>") -- INFO: Clear the terminal
vim.keymap.del("t", "<C-j>") -- INFO: Move a commit up/down in LazyGit
vim.keymap.del("t", "<C-k>") -- INFO: Move a commit up/down in LazyGit
vim.cmd("colorscheme tokyonight")
+3
View File
@@ -0,0 +1,3 @@
HelmRelease
filebeat
daemonset
Binary file not shown.
+31 -6
View File
@@ -1,9 +1,34 @@
Vault
Docker
docker
Dockerfile
Kubernetes
kubernetes
Helm
helm
Helmchart
helmchart
Chart
chart
kubectl
k9s
Beats
beats
filebeat
metricbeat
Kafka
kafka
password
topics
Jenkins
Jenkinsfile
jenkinsfile
Angular Angular
Spring Spring
Drupal Drupal
Vault
Jenkinsfile
Dockerfile
jenkinsfile
Jenkins
Kubernetes