Initial commit for astronvim v4 configuration
This commit is contained in:
		
							
								
								
									
										72
									
								
								lua/custom/autocmds/groovy.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								lua/custom/autocmds/groovy.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,72 @@
 | 
			
		||||
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
									
								
								lua/custom/autocmds/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								lua/custom/autocmds/init.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
require "custom.autocmds.text"
 | 
			
		||||
require "custom.autocmds.terminal"
 | 
			
		||||
require "custom.autocmds.groovy"
 | 
			
		||||
require "custom.autocmds.python"
 | 
			
		||||
							
								
								
									
										87
									
								
								lua/custom/autocmds/python.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										87
									
								
								lua/custom/autocmds/python.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,87 @@
 | 
			
		||||
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
									
								
								lua/custom/autocmds/terminal.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								lua/custom/autocmds/terminal.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
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
									
								
								lua/custom/autocmds/text.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								lua/custom/autocmds/text.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,9 @@
 | 
			
		||||
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,
 | 
			
		||||
})
 | 
			
		||||
							
								
								
									
										64
									
								
								lua/custom/community.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								lua/custom/community.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
-- 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.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
									
								
								lua/custom/filetypes/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								lua/custom/filetypes/init.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
			
		||||
require "custom.filetypes.jenkins"
 | 
			
		||||
							
								
								
									
										8
									
								
								lua/custom/filetypes/jenkins.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								lua/custom/filetypes/jenkins.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
vim.filetype.add {
 | 
			
		||||
  filename = {
 | 
			
		||||
    ["Jenkinsfile"] = "groovy",
 | 
			
		||||
  },
 | 
			
		||||
  extension = {
 | 
			
		||||
    Jenkinsfile = "groovy",
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										89
									
								
								lua/custom/plugins/astrocore.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								lua/custom/plugins/astrocore.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,89 @@
 | 
			
		||||
-- 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 "lazygit" end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard
 | 
			
		||||
        ["<F4>"] = { function() require("astrocore").toggle_term_cmd "tig" 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 "lazygit" end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard
 | 
			
		||||
        ["<F4>"] = { function() require("astrocore").toggle_term_cmd "tig" 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 "lazygit" end, desc = "Lazygit terminal" }, -- F27 corresponds to <Ctrl+F3> on my keyboard
 | 
			
		||||
        ["<F4>"] = { function() require("astrocore").toggle_term_cmd "tig" end, desc = "Tig terminal" }, -- F28 corresponds to <Ctrl+F4> on my keyboard
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										14
									
								
								lua/custom/plugins/astroui.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								lua/custom/plugins/astroui.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
-- 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
									
								
								lua/custom/plugins/colorschemes.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								lua/custom/plugins/colorschemes.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
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" },
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										27
									
								
								lua/custom/plugins/neo-tree.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								lua/custom/plugins/neo-tree.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
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",
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
      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,
 | 
			
		||||
    },
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										4
									
								
								lua/custom/plugins/others.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								lua/custom/plugins/others.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,4 @@
 | 
			
		||||
return {
 | 
			
		||||
  -- direnv
 | 
			
		||||
  { "direnv/direnv.vim", lazy = false },
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										13
									
								
								lua/custom/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								lua/custom/plugins/telescope.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
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,
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user