|
| 1 | +# TODO: Error executing Lua callback: /nix/store/wx63jbhbmsccs6ksh8x5fqgza6lmn1vv-init.lua:251: attempt to call global 'rndname' (a nil value) |
| 2 | +# homepage: https://github.com/akinsho/toggleterm.nvim |
| 3 | +# nixvim doc: https://nix-community.github.io/nixvim/plugins/toggleterm/index.html |
| 4 | + |
1 | 5 | _: {
|
2 | 6 | plugins.toggleterm = {
|
3 | 7 | enable = true;
|
4 | 8 | settings = {
|
5 |
| - size = 20; |
| 9 | + direction = "float"; |
| 10 | + float_opts = { |
| 11 | + border = "rounded"; |
| 12 | + }; |
| 13 | + shadding_factor = 2; |
| 14 | + size = 10; |
| 15 | + |
| 16 | + highlights = { |
| 17 | + Normal.link = "Normal"; |
| 18 | + NormalNC.link = "NormalNC"; |
| 19 | + NormalFloat.link = "NormalFloat"; |
| 20 | + FloatBorder.link = "FloatBorder"; |
| 21 | + StatusLine.link = "StatusLine"; |
| 22 | + StatusLineNC.link = "StatusLineNC"; |
| 23 | + WinBar.link = "WinBar"; |
| 24 | + WinBarNC.link = "WinBarNC"; |
| 25 | + }; |
| 26 | + |
| 27 | + # https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/toggleterm.lua#L66-L74 |
| 28 | + on_create = '' |
| 29 | + function(t) |
| 30 | + vim.opt_local.foldcolumn = "0" |
| 31 | + vim.opt_local.signcolumn = "no" |
| 32 | + if t.hidden then |
| 33 | + vim.keymap.set({ "n", "t", "i" }, "<F7>", function() t:toggle() end, { desc = "Toggle terminal", buffer = t.bufnr }) |
| 34 | + end |
| 35 | + local term_name = rndname() |
| 36 | + vim.cmd(t.id .. "ToggleTermSetName " .. term_name) |
| 37 | + end |
| 38 | + ''; |
6 | 39 | };
|
7 | 40 | };
|
8 | 41 | keymaps = [
|
9 |
| - { |
10 |
| - mode = "n"; |
11 |
| - key = "<leader>t"; |
12 |
| - action = "<cmd>ToggleTerm<cr>"; |
13 |
| - options = { |
14 |
| - desc = "Toggle Terminal Window"; |
15 |
| - }; |
16 |
| - } |
| 42 | + # { |
| 43 | + # mode = "n"; |
| 44 | + # key = "<leader>t"; |
| 45 | + # action = "<cmd>ToggleTerm<cr>"; |
| 46 | + # options = { |
| 47 | + # desc = "Toggle Terminal Window"; |
| 48 | + # }; |
| 49 | + # } |
17 | 50 | {
|
18 | 51 | mode = "n";
|
19 | 52 | key = "<leader>tv";
|
|
38 | 71 | desc = "Toggle Floating Terminal Window";
|
39 | 72 | };
|
40 | 73 | }
|
| 74 | + { |
| 75 | + mode = "n"; |
| 76 | + key = "<F7>"; |
| 77 | + action = "<Cmd>execute v:count . 'ToggleTerm'<CR>"; |
| 78 | + options.desc = "Toggle terminal"; |
| 79 | + } |
| 80 | + { |
| 81 | + mode = "t"; |
| 82 | + key = "<F7>"; |
| 83 | + action = "<Cmd>ToggleTerm<CR>"; |
| 84 | + options.desc = "Toggle terminal"; |
| 85 | + } |
| 86 | + { |
| 87 | + mode = "i"; |
| 88 | + key = "<F7>"; |
| 89 | + action = "<Esc><Cmd>ToggleTerm<CR>"; |
| 90 | + options.desc = "Toggle terminal"; |
| 91 | + } |
| 92 | + { |
| 93 | + mode = "t"; |
| 94 | + key = "<Esc><Esc>"; |
| 95 | + action = "<C-\\><C-n>"; |
| 96 | + options.desc = "Switch to normal mode"; |
| 97 | + } |
| 98 | + { |
| 99 | + mode = [ "n" "t" ]; |
| 100 | + key = "<Leader>tn"; |
| 101 | + action.__raw = '' |
| 102 | + function() |
| 103 | + local curterm = require("toggleterm.terminal").get_focused_id() |
| 104 | +
|
| 105 | + if curterm ~= nil then |
| 106 | + vim.cmd(curterm .. "ToggleTermSetName") |
| 107 | + end |
| 108 | + end |
| 109 | + ''; |
| 110 | + options.desc = "Rename current terminal"; |
| 111 | + } |
| 112 | + { |
| 113 | + mode = [ "n" "t" ]; |
| 114 | + key = "<Leader>tl"; |
| 115 | + action = "<cmd>TermSelect<cr>"; |
| 116 | + options.desc = "List terminals"; |
| 117 | + } |
41 | 118 | ];
|
42 | 119 | }
|
0 commit comments