22 Commits
Author SHA1 Message Date
xavier 6e02959440 feat: Upgrade to AstroNvim v6 2026-07-15 20:36:54 +02:00
xavier 5210270194 fix: fix import of plugin minuet-ai.nvim from community 2026-07-13 19:38:42 +02:00
xavier 97f4f202f5 feat: enable community ai recipe 2026-07-13 15:06:56 +02:00
xavier d100e2e2b8 chore: ordering community plugins 2026-07-13 15:06:15 +02:00
xavier 1220cbf85f feat: disable hardtime-nvim plugin 2026-07-13 15:05:40 +02: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
25 changed files with 550 additions and 45 deletions
+1
View File
@@ -0,0 +1 @@
lazy-lock.json
+1 -1
View File
@@ -1,6 +1,6 @@
# AstroNvim Template # AstroNvim Template
**NOTE:** This is for AstroNvim v5+ **NOTE:** This is for AstroNvim v6+
A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim) A template for getting started with [AstroNvim](https://github.com/AstroNvim/AstroNvim)
+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
+93 -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,97 @@ 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" },
{ import = "astrocommunity.indent.indent-rainbowline" },
-- 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.cmp-spell" },
-- { import = "astrocommunity.completion.copilot-lua-cmp" },
-- AI
-- { import = "astrocommunity.ai.copilotchat-nvim" },
-- { import = "astrocommunity.ai.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" },
-- Individual plugins (misc)
-- { import = "astrocommunity.workflow.hardtime-nvim" }, -- Display hints to get rid of bad habits
{ import = "astrocommunity.motion.marks-nvim" }, -- Display marks in the sign column
{ 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" }, -- Alternative to render-markdown-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" },
-- 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,
-- },
} }
+5 -5
View File
@@ -1,7 +1,7 @@
require("lazy").setup({ require("lazy").setup({
{ {
"AstroNvim/AstroNvim", "AstroNvim/AstroNvim",
version = "^5", -- Remove version tracking to elect for nightly 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
@@ -21,11 +21,11 @@ require("lazy").setup({
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",
-- "zipPlugin",
"tohtml", "tohtml",
"zipPlugin",
}, },
}, },
}, },
+106 -4
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`)
@@ -24,12 +22,26 @@ 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",
},
},
-- 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
}, },
@@ -39,6 +51,22 @@ return {
-- This can be found in the `lua/lazy_setup.lua` file -- This can be found in the `lua/lazy_setup.lua` file
}, },
}, },
-- 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",
},
},
-- Mappings can be configured through AstroCore as well. -- Mappings can be configured through AstroCore as well.
-- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized -- NOTE: keycodes follow the casing in the vimdocs. For example, `<Leader>` must be capitalized
mappings = { mappings = {
@@ -59,13 +87,87 @@ return {
end, end,
desc = "Close buffer from tabline", desc = "Close buffer from tabline",
}, },
["<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" },
-- 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
-- ["<Leader>b"] = { desc = "Buffers" }, ["<Leader>b"] = { desc = "Buffers" },
-- setting a mapping to false will disable it -- setting a mapping to false will disable it
-- ["<C-S>"] = false, -- ["<C-S>"] = false,
-- Visual selection of pasted text
["gp"] = { "`[v`]", desc = "Visual selection of pasted text" },
-- Normal mode : Custom mappings
["<F2>"] = { "<cmd>Neotree toggle<cr>", desc = "File Explorer" },
["<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" },
["<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 for apps running in the terminal (for example 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
},
},
-- 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",
},
}, },
}, },
}, },
+9 -10
View File
@@ -41,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 = {
@@ -72,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,
}, },
}, },
@@ -90,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 ~= nil 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',
},
}
+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,
-- },
-- },
-- },
-- },
-- },
}
+29
View File
@@ -0,0 +1,29 @@
return {
{
"nvim-neo-tree/neo-tree.nvim",
opts = {
window = {
width = 50,
mappings = {
["<space>"] = false, -- disable space until we figure out which-key disabling
[">"] = "next_source",
["<"] = "prev_source",
["<tab>"] = "next_source",
["<s-tab>"] = "prev_source",
},
},
event_handlers = {
{
event = "file_opened",
handler = function(file_path)
-- auto close
-- vimc.cmd("Neotree close")
-- OR
require("neo-tree.command").execute({ action = "close" })
end
},
},
close_if_last_window = true,
},
}
}
+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" },
}
+14 -5
View File
@@ -1,15 +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",
---@type AstroCoreOpts
opts = { 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 = {
"lua",
"vim",
-- add more arguments for adding more treesitter parsers
},
}, },
}, },
} }
+3 -1
View File
@@ -49,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,
}, },
+2 -15
View File
@@ -1,18 +1,5 @@
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
-- This will run last in the setup process and is a good place to configure -- This will run last in the setup process.
-- things like custom filetypes. This is just pure lua so anything that doesn't -- 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 filetypes
vim.filetype.add {
extension = {
foo = "fooscript",
},
filename = {
["Foofile"] = "fooscript",
},
pattern = {
["~/%.config/foo/.*"] = "fooscript",
},
}
+3
View File
@@ -0,0 +1,3 @@
HelmRelease
filebeat
daemonset
Binary file not shown.
Binary file not shown.
Binary file not shown.
+34
View File
@@ -0,0 +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
Spring
Drupal
Binary file not shown.
Binary file not shown.
Binary file not shown.