JustCaptain neovim-and-yazi-settings
deefd48d70992bb116e3c774c379b66d9d4c167d
Перейти к файлу
Код
neovim-and-yazi-settings confignvimluacustompluginstoggleterm.lua
anc create files deefd48 2 недели назад
toggleterm.lua
return {
  'akinsho/toggleterm.nvim',
  version = '*',
  opts = {
    size = 15,
    open_mapping = [[<c-\>]],
    direction = 'horizontal',
    shade_terminals = true,
  },
  keys = {
    { '<leader>tt', '<cmd>ToggleTerm<cr>' },
    { '<leader>tf', '<cmd>ToggleTerm direction=float<cr>' },
    { '<leader>tv', '<cmd>ToggleTerm direction=vertical<cr>' },

    -- C/C++: сохранить, собрать текущий файл и запустить в терминале (с вводом через cin)
    {
      '<leader>rr',
      function()
        vim.cmd 'write'
        local file = vim.fn.expand '%:p'
        local out = vim.fn.expand '%:p:r'
        local compiler = vim.bo.filetype == 'c' and 'clang -std=c17' or 'clang++ -std=c++20'
        local cmd = string.format('%s -Wall -Wextra -g %s -o %s && %s', compiler, vim.fn.shellescape(file), vim.fn.shellescape(out), vim.fn.shellescape(out))
        require('toggleterm').exec(cmd, 1, nil, vim.fn.expand '%:p:h')
      end,
      ft = { 'c', 'cpp' },
      desc = '[R]un C/C++ file',
    },
  },
}