nvim: Handle clipboard via osc52
This commit is contained in:
parent
0cb406caef
commit
ab00294b74
5 changed files with 32 additions and 8 deletions
|
@ -60,14 +60,6 @@
|
||||||
(set o.swapfile false)
|
(set o.swapfile false)
|
||||||
(set o.undofile true)
|
(set o.undofile true)
|
||||||
(set o.undodir (.. (os.getenv :HOME) :/.local/share/nvim/undo//))
|
(set o.undodir (.. (os.getenv :HOME) :/.local/share/nvim/undo//))
|
||||||
;; Clipboard
|
|
||||||
(if (= uname.sysname :Darwin)
|
|
||||||
(do
|
|
||||||
(set g.clipboard {:name :pbcopy
|
|
||||||
:copy {:+ :pbcopy :* :pbcopy}
|
|
||||||
:paste {:+ :pbpaste :* :pbpaste}
|
|
||||||
:cache_enabled 0})
|
|
||||||
(o.clipboard:prepend :unnamedplus)))
|
|
||||||
;; Theme
|
;; Theme
|
||||||
(let [theme (require :nifoc.theme)]
|
(let [theme (require :nifoc.theme)]
|
||||||
(theme.setup))
|
(theme.setup))
|
||||||
|
|
14
home/config/nvim/plugins/osc52.fnl
Normal file
14
home/config/nvim/plugins/osc52.fnl
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
(let [osc52 (require :osc52)]
|
||||||
|
(fn copy [lines _]
|
||||||
|
(-> lines
|
||||||
|
(table.concat "\n")
|
||||||
|
(osc52.copy)))
|
||||||
|
|
||||||
|
(fn paste []
|
||||||
|
[(vim.fn.split (vim.fn.getreg "") "\n") (vim.fn.getregtype "")])
|
||||||
|
|
||||||
|
(set vim.g.clipboard {:name :osc52
|
||||||
|
:copy {:+ copy :* copy}
|
||||||
|
:paste {:+ paste :* paste}})
|
||||||
|
(vim.opt.clipboard:prepend :unnamedplus))
|
||||||
|
|
|
@ -67,6 +67,12 @@ in
|
||||||
nvim-web-devicons
|
nvim-web-devicons
|
||||||
|
|
||||||
# Keybindings
|
# Keybindings
|
||||||
|
{
|
||||||
|
plugin = nvim-osc52;
|
||||||
|
config = builtins.readFile ../../config/nvim/plugins/osc52.fnl;
|
||||||
|
type = "fennel";
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
plugin = yanky-nvim;
|
plugin = yanky-nvim;
|
||||||
config = builtins.readFile ../../config/nvim/plugins/yanky.fnl;
|
config = builtins.readFile ../../config/nvim/plugins/yanky.fnl;
|
||||||
|
|
|
@ -45,6 +45,17 @@
|
||||||
fetchSubmodules = false;
|
fetchSubmodules = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
nvim-osc52 = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
||||||
|
pname = "nvim-osc52";
|
||||||
|
version = "2022-07-31";
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "ojroques";
|
||||||
|
repo = "nvim-osc52";
|
||||||
|
rev = "0f25ebe9eb5050bb242e947c42134a851391a73e";
|
||||||
|
sha256 = "0csd7ymia5k9pqrq8fr12yykiw4ssm06gsbz63i6xsgpvgmwnpv7";
|
||||||
|
fetchSubmodules = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
yanky-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
yanky-nvim = pkgs.vimUtils.buildVimPluginFrom2Nix {
|
||||||
pname = "yanky.nvim";
|
pname = "yanky.nvim";
|
||||||
version = "2022-07-29";
|
version = "2022-07-29";
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
- src: kyazdani42/nvim-web-devicons
|
- src: kyazdani42/nvim-web-devicons
|
||||||
|
|
||||||
# Keybindings
|
# Keybindings
|
||||||
|
- src: ojroques/nvim-osc52
|
||||||
- src: gbprod/yanky.nvim
|
- src: gbprod/yanky.nvim
|
||||||
- src: gbprod/cutlass.nvim
|
- src: gbprod/cutlass.nvim
|
||||||
- src: gbprod/substitute.nvim
|
- src: gbprod/substitute.nvim
|
||||||
|
|
Loading…
Reference in a new issue