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,
 | 
			
		||||
})
 | 
			
		||||
		Reference in New Issue
	
	Block a user