nixvim: re-add edit_alternate.vim
This commit is contained in:
parent
01cc01069b
commit
a218f5623c
5 changed files with 157 additions and 1 deletions
53
flake.lock
generated
53
flake.lock
generated
|
@ -23,6 +23,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"conf-vim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1507549264,
|
||||||
|
"narHash": "sha256-AjiTJsoim0BAnyfqk1IQzNsa6jhFM2+A66E7q9sJqz0=",
|
||||||
|
"owner": "tjdevries",
|
||||||
|
"repo": "conf.vim",
|
||||||
|
"rev": "a716df0fd5d7ba558c07dac2e07f05d5eba11afb",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tjdevries",
|
||||||
|
"repo": "conf.vim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"darwin": {
|
"darwin": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -65,6 +81,22 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"edit-alternate-vim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1635180789,
|
||||||
|
"narHash": "sha256-mEKnqYAhgrdxPRoKf4S4yYecdFIHGg8bDxpqPuC1+S4=",
|
||||||
|
"owner": "tjdevries",
|
||||||
|
"repo": "edit_alternate.vim",
|
||||||
|
"rev": "ef3019115d9bb7ffd691d2859eda213dd99e0b0a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tjdevries",
|
||||||
|
"repo": "edit_alternate.vim",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-compat": {
|
"flake-compat": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
|
@ -414,7 +446,9 @@
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"agenix": "agenix",
|
"agenix": "agenix",
|
||||||
|
"conf-vim": "conf-vim",
|
||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
|
"edit-alternate-vim": "edit-alternate-vim",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"import-tree": "import-tree",
|
"import-tree": "import-tree",
|
||||||
|
@ -424,7 +458,24 @@
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
"nixpkgs-stable": "nixpkgs-stable",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"nur": "nur"
|
"nur": "nur",
|
||||||
|
"standard-vim": "standard-vim"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"standard-vim": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1539613748,
|
||||||
|
"narHash": "sha256-9VwkvV1Dv6cE4uDkPp36DozjWJOclDR883yDMYw000E=",
|
||||||
|
"owner": "tjdevries",
|
||||||
|
"repo": "standard.vim",
|
||||||
|
"rev": "b333ef9a9cf6cf66536deda017a542843613fa75",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "tjdevries",
|
||||||
|
"repo": "standard.vim",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
|
|
@ -3,9 +3,15 @@
|
||||||
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
agenix.url = "github:ryantm/agenix";
|
agenix.url = "github:ryantm/agenix";
|
||||||
|
|
||||||
|
conf-vim.flake = false;
|
||||||
|
conf-vim.url = "github:tjdevries/conf.vim";
|
||||||
|
|
||||||
disko.inputs.nixpkgs.follows = "nixpkgs";
|
disko.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
disko.url = "github:nix-community/disko";
|
disko.url = "github:nix-community/disko";
|
||||||
|
|
||||||
|
edit-alternate-vim.flake = false;
|
||||||
|
edit-alternate-vim.url = "github:tjdevries/edit_alternate.vim";
|
||||||
|
|
||||||
flake-parts.url = "github:hercules-ci/flake-parts";
|
flake-parts.url = "github:hercules-ci/flake-parts";
|
||||||
|
|
||||||
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -30,6 +36,9 @@
|
||||||
|
|
||||||
nur.inputs.nixpkgs.follows = "nixpkgs";
|
nur.inputs.nixpkgs.follows = "nixpkgs";
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
|
|
||||||
|
standard-vim.flake = false;
|
||||||
|
standard-vim.url = "github:tjdevries/standard.vim";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs =
|
outputs =
|
||||||
|
|
56
modules2/nixvim/edit-alternate/config.nix
Normal file
56
modules2/nixvim/edit-alternate/config.nix
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
{
|
||||||
|
flake.modules.nixvim.custom.extraConfigLua = ''
|
||||||
|
vim.fn["edit_alternate#rule#add"]("php", function(filename)
|
||||||
|
if filename:find "Test.php$" then
|
||||||
|
filename = filename:gsub("Test.php$", ".php")
|
||||||
|
|
||||||
|
if filename:find "tests/src/" then
|
||||||
|
-- Drupal tests. Remove the `src/{type}` from the path.
|
||||||
|
return filename:gsub("tests/src/(.-)/", "src/")
|
||||||
|
else
|
||||||
|
return filename:gsub("tests/", "src/")
|
||||||
|
end
|
||||||
|
else
|
||||||
|
filename = filename:gsub(".php$", "Test.php")
|
||||||
|
|
||||||
|
if filename:find "modules/custom" then
|
||||||
|
-- Drupal test types.
|
||||||
|
local test_types = { "Functional", "FunctionalJavaScript", "Kernel", "Unit" }
|
||||||
|
|
||||||
|
for _, test_type in ipairs(test_types) do
|
||||||
|
local filename_with_test_type = filename:gsub("src/", string.format("tests/src/%s/", test_type))
|
||||||
|
|
||||||
|
-- Return the first matching test file that exists.
|
||||||
|
if vim.fn.filereadable(filename_with_test_type) == 1 then
|
||||||
|
return filename_with_test_type
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
if vim.fn.filereadable "composer.json" == 1 then
|
||||||
|
vim.fn["edit_alternate#rule#add"]("json", function(filename)
|
||||||
|
if filename:find "composer.json" then
|
||||||
|
return (filename:gsub("%.json$", ".lock"))
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
vim.fn["edit_alternate#rule#add"]("lock", function(filename)
|
||||||
|
if filename:find "composer.lock" then
|
||||||
|
return (filename:gsub("%.lock$", ".json"))
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
if vim.fn.filereadable "fractal.config.js" == 1 then
|
||||||
|
vim.fn["edit_alternate#rule#add"]("twig", function(filename)
|
||||||
|
return (filename:gsub("%.twig$", ".config.yml"))
|
||||||
|
end)
|
||||||
|
|
||||||
|
vim.fn["edit_alternate#rule#add"]("yml", function(filename)
|
||||||
|
return (filename:gsub("%.config.yml$", ".twig"))
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
}
|
31
modules2/nixvim/edit-alternate/extra-plugins.nix
Normal file
31
modules2/nixvim/edit-alternate/extra-plugins.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{ inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
flake.modules.nixvim.custom =
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
extraPlugins =
|
||||||
|
let
|
||||||
|
inherit (pkgs.vimUtils) buildVimPlugin;
|
||||||
|
in
|
||||||
|
[
|
||||||
|
(buildVimPlugin {
|
||||||
|
pname = "conf-vim";
|
||||||
|
src = inputs.conf-vim;
|
||||||
|
version = "unstable";
|
||||||
|
})
|
||||||
|
|
||||||
|
(buildVimPlugin {
|
||||||
|
pname = "edit-alternate-vim";
|
||||||
|
src = inputs.edit-alternate-vim;
|
||||||
|
version = "unstable";
|
||||||
|
})
|
||||||
|
|
||||||
|
(buildVimPlugin {
|
||||||
|
pname = "standard-vim";
|
||||||
|
src = inputs.standard-vim;
|
||||||
|
version = "unstable";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
9
modules2/nixvim/edit-alternate/keymaps.nix
Normal file
9
modules2/nixvim/edit-alternate/keymaps.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{
|
||||||
|
flake.modules.nixvim.custom.keymaps = [
|
||||||
|
{
|
||||||
|
action = "<cmd>EditAlternate<CR>";
|
||||||
|
key = "<leader>ea";
|
||||||
|
mode = "n";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue