Compare commits

2 Commits

Author SHA1 Message Date
Xavier Logerais
de10500dc8 feat: Add french dictionnaries 2025-04-01 16:04:57 +00:00
Xavier Logerais
f8d337438e feat: Personnal configuration 2025-04-01 16:04:41 +00:00
12 changed files with 87 additions and 448 deletions

1
.gitignore vendored
View File

@@ -1 +0,0 @@
lazy-lock.json

View File

@@ -4,102 +4,72 @@
---@type LazySpec
return {
"AstroNvim/astrocommunity",
{ import = "astrocommunity.pack.lua" },
-- import/override with your plugins folder
"AstroNvim/astrocommunity",
{ import = "astrocommunity.pack.lua" },
-- import/override with your plugins folder
--
-- Personal config
--
--
-- 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.json" },
{ import = "astrocommunity.pack.yaml" },
{ import = "astrocommunity.pack.toml" },
{ import = "astrocommunity.pack.markdown" },
{ import = "astrocommunity.pack.bash" },
{ 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.docker" },
{ import = "astrocommunity.pack.helm" },
{ import = "astrocommunity.pack.terraform" },
-- { import = "astrocommunity.pack.ansible" },
-- { import = "astrocommunity.pack.terraform" },
-- { import = "astrocommunity.pack.docker" },
-- { import = "astrocommunity.pack.helm" },
-- Recipes
{ import = "astrocommunity.recipes.heirline-mode-text-statusline" },
{ import = "astrocommunity.recipes.cache-colorscheme" },
{ import = "astrocommunity.recipes.neo-tree-dark" },
{ import = "astrocommunity.recipes.disable-tabline" },
-- { import = "astrocommunity.pack.rainbow-delimiter-indent-blankline" },
{ import = "astrocommunity.indent.indent-rainbowline" },
-- Individual plugins (misc)
{ import = "astrocommunity.diagnostics.trouble-nvim" },
-- { import = "astrocommunity.bars-and-lines.smartcolumn-nvim" },
-- { import = "astrocommunity.completion.copilot-lua-cmp" },
{ 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" },
{ import = "astrocommunity.file-explorer.telescope-file-browser-nvim" },
{ import = "astrocommunity.git.diffview-nvim" },
-- Recipes
-- Individual plugins (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" },
{ 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" },
-- 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,
-- },
-- Completion
{ import = "astrocommunity.completion.blink-cmp-git" },
{ import = "astrocommunity.completion.blink-cmp-emoji" },
-- { import = "astrocommunity.completion.cmp-nerdfont" },
{ import = "astrocommunity.completion.minuet-ai-nvim" },
-- { import = "astrocommunity.completion.cmp-spell" },
-- { import = "astrocommunity.completion.copilot-lua-cmp" },
-- 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" },
-- Individual plugins (misc)
{ import = "astrocommunity.workflow.hardtime-nvim" }, -- Display hints to get rid of bad habits
{ import = "astrocommunity.diagnostics.trouble-nvim" },
{ import = "astrocommunity.editing-support.nvim-devdocs" },
{ import = "astrocommunity.git.diffview-nvim" },
{ import = "astrocommunity.markdown-and-latex.render-markdown-nvim" },
-- { import = "astrocommunity.markdown-and-latex.markview-nvim" },
{ import = "astrocommunity.motion.marks-nvim" }, -- Display marks in the sign column
{ import = "astrocommunity.programming-language-support.kulala-nvim" }, -- A minimal HTTP-client interface for Neovim
-- 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 (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 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" },
-- Now provided by core
-- { import = "astrocommunity.bars-and-lines.vim-illuminate" },
-- { import = "astrocommunity.editing-support.todo-comments-nvim" },
}

View File

@@ -35,50 +35,11 @@ return {
[".*/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
options = {
opt = { -- vim.opt.<key>
number = true, -- sets vim.opt.number
relativenumber = true, -- sets vim.opt.relativenumber
relativenumber = false, -- sets vim.opt.relativenumber
spell = false, -- sets vim.opt.spell
spelllang = "fr", -- Set spell language to french
signcolumn = "yes", -- sets vim.opt.signcolumn to yes
@@ -88,32 +49,21 @@ return {
-- configure global vim variables (vim.g)
-- NOTE: `mapleader` and `maplocalleader` must be set in the AstroNvim opts or before `lazy.setup`
-- This can be found in the `lua/lazy_setup.lua` file
},
},
-- Mappings can be configured through AstroCore as well.
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
mappings = {
-- first key is the mode
n = {
-- tables with just a `desc` key will be registered with which-key if it's installed
-- this is useful for naming menus
-- ["<Leader>b"] = { desc = "Buffers" },
-- setting a mapping to false will disable it
-- ["<C-S>"] = false,
-- Visual selection of pasted text
["gp"] = { "`[v`]", desc = "Visual selection of pasted text" },
-- 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"
["<Leader>b"] = { desc = "Buffers" },
["<Leader>bn"] = { function() require("astrocore.buffer").nav(vim.v.count1) end, desc = "Next buffer" },
["<Leader>bp"] = { function() require("astrocore.buffer").nav(-vim.v.count1) end, desc = "Previous buffer" },
["<Leader>bd"] = {
function()
require("astroui.status.heirline").buffer_picker(
@@ -122,37 +72,25 @@ return {
end,
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
-- this is useful for naming menus
-- ["<Leader>b"] = { desc = "Buffers" },
-- setting a mapping to false will disable it
-- ["<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",
},
["<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 : 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",
},
["<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
},
-- 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
@@ -160,19 +98,14 @@ return {
-- 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 for apps running in the terminal (for example lazygit)
-- 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
["<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
},
},
},
}

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
-- Configuration documentation can be found with `:h astroui`
@@ -16,7 +16,6 @@ return {
highlights = {
init = { -- this table overrides highlights in all themes
-- Normal = { bg = "#000000" },
TrailingWhiteSpace = { bg = "red" },
},
astrodark = { -- a table of overrides/changes when applying the astrotheme theme
-- Normal = { bg = "#000000" },

View File

@@ -1,37 +0,0 @@
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',
}
},
},
}

View File

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

View File

@@ -1,63 +0,0 @@
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',
},
}

View File

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

View File

@@ -1,11 +1,10 @@
-- 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
-- Needed for python3 through mise
-- Locate python3 using PATH
local python_path = vim.fn.exepath "python3"
local python_path = vim.fn.exepath("python3")
if python_path == nil or python_path == "" then
else
vim.g.python3_host_prog = python_path
end
-- 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

View File

@@ -1,3 +0,0 @@
HelmRelease
filebeat
daemonset

Binary file not shown.

View File

@@ -1,34 +1,9 @@
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
Spring
Drupal
Vault
Jenkinsfile
Dockerfile
jenkinsfile
Jenkins
Kubernetes