neovim: Add floating VCS shell
This commit is contained in:
parent
199026a401
commit
daedb5a164
2 changed files with 16 additions and 3 deletions
|
@ -48,6 +48,8 @@
|
||||||
#(telescope-builtin.git_branches telescope-dropdown)
|
#(telescope-builtin.git_branches telescope-dropdown)
|
||||||
{:desc "List VCS Branches"})
|
{:desc "List VCS Branches"})
|
||||||
(keymap.set :n :<leader>vl gitsigns.blame_line {:desc "Blame Line"})
|
(keymap.set :n :<leader>vl gitsigns.blame_line {:desc "Blame Line"})
|
||||||
|
(keymap.set :n :<leader>vc #(repl.toggle-specific-shell :vcs)
|
||||||
|
{:desc "Toggle VCS Shell"})
|
||||||
(keymap.set :n :<leader>lk telescope-builtin.keymaps
|
(keymap.set :n :<leader>lk telescope-builtin.keymaps
|
||||||
{:desc "Show Keymappings"})
|
{:desc "Show Keymappings"})
|
||||||
(keymap.set :n :<leader>ld #(telescope-builtin.diagnostics telescope-ivy)
|
(keymap.set :n :<leader>ld #(telescope-builtin.diagnostics telescope-ivy)
|
||||||
|
|
|
@ -4,8 +4,8 @@
|
||||||
(fn repl-setup []
|
(fn repl-setup []
|
||||||
(set vim.b.nifoc_shell_mode :REPL))
|
(set vim.b.nifoc_shell_mode :REPL))
|
||||||
|
|
||||||
(fn shell-setup []
|
(fn generic-setup [label]
|
||||||
(set vim.b.nifoc_shell_mode :SHELL))
|
(set vim.b.nifoc_shell_mode label))
|
||||||
|
|
||||||
(local elixir (terminal:new {:cmd :iex
|
(local elixir (terminal:new {:cmd :iex
|
||||||
:on_open repl-setup
|
:on_open repl-setup
|
||||||
|
@ -17,7 +17,7 @@
|
||||||
:on_open repl-setup
|
:on_open repl-setup
|
||||||
:close_on_exit true}))
|
:close_on_exit true}))
|
||||||
(local fish (terminal:new {:cmd :fish
|
(local fish (terminal:new {:cmd :fish
|
||||||
:on_open shell-setup
|
:on_open #(generic-setup :SHELL)
|
||||||
:close_on_exit true}))
|
:close_on_exit true}))
|
||||||
(local javascript (terminal:new {:cmd :node
|
(local javascript (terminal:new {:cmd :node
|
||||||
:on_open repl-setup
|
:on_open repl-setup
|
||||||
|
@ -29,6 +29,13 @@
|
||||||
(terminal:new {:cmd :irb :on_open repl-setup :close_on_exit true}))
|
(terminal:new {:cmd :irb :on_open repl-setup :close_on_exit true}))
|
||||||
;; Map filetype to REPL
|
;; Map filetype to REPL
|
||||||
(local repl-map {: elixir : erlang : fennel : fish : javascript : nix : ruby})
|
(local repl-map {: elixir : erlang : fennel : fish : javascript : nix : ruby})
|
||||||
|
;; Various specific shell windows
|
||||||
|
(local specific-shell
|
||||||
|
{:vcs (terminal:new {:cmd :fish
|
||||||
|
:on_open #(generic-setup :VCS)
|
||||||
|
:direction :float
|
||||||
|
:close_on_exit true
|
||||||
|
:float_opts {:border :rounded}})})
|
||||||
|
|
||||||
(fn mod.toggle-shell []
|
(fn mod.toggle-shell []
|
||||||
(let [shell (. repl-map :fish)]
|
(let [shell (. repl-map :fish)]
|
||||||
|
@ -40,5 +47,9 @@
|
||||||
(when (not= repl nil)
|
(when (not= repl nil)
|
||||||
(repl:toggle))))
|
(repl:toggle))))
|
||||||
|
|
||||||
|
(fn mod.toggle-specific-shell [name]
|
||||||
|
(let [shell (. specific-shell name)]
|
||||||
|
(shell:toggle)))
|
||||||
|
|
||||||
mod)
|
mod)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue