feat: toggleterm

This commit is contained in:
isabel 2024-10-14 21:21:57 +01:00
parent 4faf6ddd85
commit 7f354e7caa
No known key found for this signature in database
GPG key ID: 08A97B9A107A1798
6 changed files with 59 additions and 67 deletions

View file

@ -419,26 +419,6 @@
},
"version": "491452cf1ca6f029e90ad0d0368848fac717c6d2"
},
"lazygit": {
"cargoLocks": null,
"date": "2024-10-01",
"extract": null,
"name": "lazygit",
"passthru": null,
"pinned": false,
"src": {
"deepClone": false,
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"owner": "kdheepak",
"repo": "lazygit.nvim",
"rev": "56760339a81cd1540d5a72fd9d93010a2677b55d",
"sha256": "sha256-djAY6VwCLcIEHLyQX0KHOppZXIIn92AYduA1KBnbVkY=",
"type": "github"
},
"version": "56760339a81cd1540d5a72fd9d93010a2677b55d"
},
"lsp-status": {
"cargoLocks": null,
"date": "2022-08-03",
@ -1059,11 +1039,11 @@
},
"version": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0"
},
"tree-sitter-nu": {
"toggleterm-nvim": {
"cargoLocks": null,
"date": "2024-09-26",
"date": "2024-08-08",
"extract": null,
"name": "tree-sitter-nu",
"name": "toggleterm-nvim",
"passthru": null,
"pinned": false,
"src": {
@ -1071,12 +1051,13 @@
"fetchSubmodules": false,
"leaveDotGit": false,
"name": null,
"rev": "e3b4c967937cad628dca09bd098cd780d8288750",
"sha256": "sha256-DlvBRKDXOJCqyJE0BJn8omqF50pQmnceiYsihJa/opg=",
"type": "git",
"url": "https://github.com/nushell/tree-sitter-nu"
"owner": "akinsho",
"repo": "toggleterm.nvim",
"rev": "137d06fb103952a0fb567882bb8527e2f92d327d",
"sha256": "sha256-VlHE5nFHDO6GRRM44TqtcWSk2k0NfeCndp7of/35ta4=",
"type": "github"
},
"version": "e3b4c967937cad628dca09bd098cd780d8288750"
"version": "137d06fb103952a0fb567882bb8527e2f92d327d"
},
"trouble": {
"cargoLocks": null,

31
_sources/generated.nix generated
View file

@ -253,18 +253,6 @@
};
date = "2024-07-25";
};
lazygit = {
pname = "lazygit";
version = "56760339a81cd1540d5a72fd9d93010a2677b55d";
src = fetchFromGitHub {
owner = "kdheepak";
repo = "lazygit.nvim";
rev = "56760339a81cd1540d5a72fd9d93010a2677b55d";
fetchSubmodules = false;
sha256 = "sha256-djAY6VwCLcIEHLyQX0KHOppZXIIn92AYduA1KBnbVkY=";
};
date = "2024-10-01";
};
lsp-status = {
pname = "lsp-status";
version = "54f48eb5017632d81d0fd40112065f1d062d0629";
@ -637,18 +625,17 @@
};
date = "2024-09-16";
};
tree-sitter-nu = {
pname = "tree-sitter-nu";
version = "e3b4c967937cad628dca09bd098cd780d8288750";
src = fetchgit {
url = "https://github.com/nushell/tree-sitter-nu";
rev = "e3b4c967937cad628dca09bd098cd780d8288750";
toggleterm-nvim = {
pname = "toggleterm-nvim";
version = "137d06fb103952a0fb567882bb8527e2f92d327d";
src = fetchFromGitHub {
owner = "akinsho";
repo = "toggleterm.nvim";
rev = "137d06fb103952a0fb567882bb8527e2f92d327d";
fetchSubmodules = false;
deepClone = false;
leaveDotGit = false;
sha256 = "sha256-DlvBRKDXOJCqyJE0BJn8omqF50pQmnceiYsihJa/opg=";
sha256 = "sha256-VlHE5nFHDO6GRRM44TqtcWSk2k0NfeCndp7of/35ta4=";
};
date = "2024-09-26";
date = "2024-08-08";
};
trouble = {
pname = "trouble";

View file

@ -26,3 +26,13 @@ vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
vim.bo.filetype = "gohtmltmpl"
end,
})
vim.api.nvim_create_autocmd("TermOpen", {
pattern = "term://*",
callback = function()
local opts = { buffer = 0 }
vim.cmd("startinsert!")
vim.keymap.set("t", "<esc><esc>", [[<C-\><C-n><C-w>]], opts)
vim.keymap.set("t", "<C-w>", [[<C-\><C-n><C-w>]], opts)
end,
})

View file

@ -22,9 +22,6 @@ map("n", "<C-N>", "<cmd>NvimTreeToggle<CR>")
map({ "n", "v" }, "<leader>y", '"+y')
map({ "n", "v" }, "<leader>p", '"+p')
-- open lazygit
map({ "n", "v" }, "<leader>gg", "<cmd>LazyGit<cr>")
-- quit all
map({ "n", "v" }, "<leader>q", "<cmd>qall<cr>")

View file

@ -84,10 +84,6 @@ src.git = "https://github.com/folke/lazy.nvim"
fetch.github = "folke/lazydev.nvim"
src.git = "https://github.com/folke/lazydev.nvim"
[lazygit]
fetch.github = "kdheepak/lazygit.nvim"
src.git = "https://github.com/kdheepak/lazygit.nvim"
[lsp-status]
fetch.github = "nvim-lua/lsp-status.nvim"
src.git = "https://github.com/nvim-lua/lsp-status.nvim"
@ -208,15 +204,14 @@ src.git = "https://github.com/nvim-telescope/telescope-ui-select.nvim"
fetch.github = "rachartier/tiny-devicons-auto-colors.nvim"
src.git = "https://github.com/rachartier/tiny-devicons-auto-colors.nvim"
[toggleterm-nvim]
fetch.github = "akinsho/toggleterm.nvim"
src.git = "https://github.com/akinsho/toggleterm.nvim"
[todo-comments]
fetch.github = "folke/todo-comments.nvim"
src.git = "https://github.com/folke/todo-comments.nvim"
[tree-sitter-nu]
fetch.git = "https://github.com/nushell/tree-sitter-nu"
src.git = "https://github.com/nushell/tree-sitter-nu"
src.branch = "main"
[trouble]
fetch.github = "folke/trouble.nvim"
src.git = "https://github.com/folke/trouble.nvim"

View file

@ -382,6 +382,7 @@ rec {
"help"
"lazy"
"NvimTree"
"ToggleTerm"
"LazyGit"
"TelescopePrompt"
"prompt"
@ -407,13 +408,34 @@ rec {
};
# lazygit integration
lazygit = {
src = srcs.lazygit;
toggleterm = {
src = srcs.toggleterm-nvim;
event = "VeryLazy";
dependencies = {
inherit plenary;
};
paths = [ pkgs.lazygit ];
config = # lua
''
function()
require("toggleterm").setup()
local Terminal = require('toggleterm.terminal').Terminal
local lazygit = Terminal:new({
cmd = "lazygit",
dir = "git_dir",
direction = "float",
on_open = function(t)
vim.keymap.set('t', 'q', vim.cmd.close, {buffer = t.bufnr, silent = true})
end,
float_opts = {
border = "rounded",
width = 1200,
height = 800,
},
})
vim.keymap.set("n", "<leader>gg", function() lazygit:toggle() end, {noremap = true, silent = true})
vim.keymap.set("n", "<c-t>", "<cmd>ToggleTerm<cr>", {noremap = true, silent = true})
end
'';
};
# discord integration