mirror of
https://github.com/NotAShelf/nvf.git
synced 2025-09-06 10:21:31 +00:00
Merge pull request #892 from ckoehler/ts-textobjects
Some checks failed
Set up binary cache / cachix (default) (push) Has been cancelled
Set up binary cache / cachix (maximal) (push) Has been cancelled
Set up binary cache / cachix (nix) (push) Has been cancelled
Treewide Checks / Validate flake (push) Has been cancelled
Treewide Checks / Check formatting (push) Has been cancelled
Treewide Checks / Check source tree for typos (push) Has been cancelled
Treewide Checks / Validate documentation builds (push) Has been cancelled
Treewide Checks / Validate hyperlinks in documentation sources (push) Has been cancelled
Treewide Checks / Validate Editorconfig conformance (push) Has been cancelled
Build and deploy documentation / Check latest commit (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
Some checks failed
Set up binary cache / cachix (default) (push) Has been cancelled
Set up binary cache / cachix (maximal) (push) Has been cancelled
Set up binary cache / cachix (nix) (push) Has been cancelled
Treewide Checks / Validate flake (push) Has been cancelled
Treewide Checks / Check formatting (push) Has been cancelled
Treewide Checks / Check source tree for typos (push) Has been cancelled
Treewide Checks / Validate documentation builds (push) Has been cancelled
Treewide Checks / Validate hyperlinks in documentation sources (push) Has been cancelled
Treewide Checks / Validate Editorconfig conformance (push) Has been cancelled
Build and deploy documentation / Check latest commit (push) Has been cancelled
Build and deploy documentation / publish (push) Has been cancelled
feat: add treesitter textobjects
This commit is contained in:
commit
815ed49d36
6 changed files with 66 additions and 0 deletions
|
@ -329,11 +329,13 @@
|
||||||
|
|
||||||
[flash.nvim]: https://github.com/folke/flash.nvim
|
[flash.nvim]: https://github.com/folke/flash.nvim
|
||||||
[gitlinker.nvim]: https://github.com/linrongbin16/gitlinker.nvim
|
[gitlinker.nvim]: https://github.com/linrongbin16/gitlinker.nvim
|
||||||
|
[nvim-treesitter-textobjects]: https://github.com/nvim-treesitter/nvim-treesitter-textobjects
|
||||||
|
|
||||||
- Fix oil config referencing snacks
|
- Fix oil config referencing snacks
|
||||||
- Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim`
|
- Add [flash.nvim] plugin to `vim.utility.motion.flash-nvim`
|
||||||
- Fix default telescope ignore list entry for '.git/' to properly match
|
- Fix default telescope ignore list entry for '.git/' to properly match
|
||||||
- Add [gitlinker.nvim] plugin to `vim.git.gitlinker-nvim`
|
- Add [gitlinker.nvim] plugin to `vim.git.gitlinker-nvim`
|
||||||
|
- Add [nvim-treesitter-textobjects] plugin to `vim.treesitter.textobjects`
|
||||||
|
|
||||||
[rrvsh](https://github.com/rrvsh):
|
[rrvsh](https://github.com/rrvsh):
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
# treesitter extras
|
# treesitter extras
|
||||||
./ts-context
|
./ts-context
|
||||||
|
./ts-textobjects
|
||||||
|
|
||||||
./treesitter.nix
|
./treesitter.nix
|
||||||
./config.nix
|
./config.nix
|
||||||
|
|
23
modules/plugins/treesitter/ts-textobjects/config.nix
Normal file
23
modules/plugins/treesitter/ts-textobjects/config.nix
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
inherit (lib.modules) mkIf;
|
||||||
|
inherit (lib.nvim.lua) toLuaObject;
|
||||||
|
inherit (lib.nvim.dag) entryAfter;
|
||||||
|
|
||||||
|
inherit (config.vim) treesitter;
|
||||||
|
cfg = treesitter.textobjects;
|
||||||
|
in {
|
||||||
|
config = mkIf (treesitter.enable && cfg.enable) {
|
||||||
|
vim = {
|
||||||
|
startPlugins = ["nvim-treesitter-textobjects"];
|
||||||
|
|
||||||
|
# set up treesitter-textobjects after Treesitter, whose config we're adding to.
|
||||||
|
pluginRC.treesitter-textobjects = entryAfter ["treesitter"] ''
|
||||||
|
require("nvim-treesitter.configs").setup({textobjects = ${toLuaObject cfg.setupOpts}})
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
6
modules/plugins/treesitter/ts-textobjects/default.nix
Normal file
6
modules/plugins/treesitter/ts-textobjects/default.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./textobjects.nix
|
||||||
|
./config.nix
|
||||||
|
];
|
||||||
|
}
|
21
modules/plugins/treesitter/ts-textobjects/textobjects.nix
Normal file
21
modules/plugins/treesitter/ts-textobjects/textobjects.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{lib, ...}: let
|
||||||
|
inherit (lib.options) mkEnableOption;
|
||||||
|
inherit (lib.nvim.types) mkPluginSetupOption;
|
||||||
|
in {
|
||||||
|
options.vim.treesitter.textobjects = {
|
||||||
|
enable = mkEnableOption "Treesitter textobjects";
|
||||||
|
setupOpts =
|
||||||
|
mkPluginSetupOption "treesitter-textobjects" {}
|
||||||
|
// {
|
||||||
|
example = {
|
||||||
|
select = {
|
||||||
|
enable = true;
|
||||||
|
lookahead = true;
|
||||||
|
keymaps = {
|
||||||
|
af = "@function.outer";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1906,6 +1906,19 @@
|
||||||
"url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/6daca3ad780f045550b820f262002f35175a6c04.tar.gz",
|
"url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/6daca3ad780f045550b820f262002f35175a6c04.tar.gz",
|
||||||
"hash": "0qprwd44hw9sz0vh14p6lpvs9vxrick462pfkradmal6ak1kfwn3"
|
"hash": "0qprwd44hw9sz0vh14p6lpvs9vxrick462pfkradmal6ak1kfwn3"
|
||||||
},
|
},
|
||||||
|
"nvim-treesitter-textobjects": {
|
||||||
|
"type": "Git",
|
||||||
|
"repository": {
|
||||||
|
"type": "GitHub",
|
||||||
|
"owner": "nvim-treesitter",
|
||||||
|
"repo": "nvim-treesitter-textobjects"
|
||||||
|
},
|
||||||
|
"branch": "master",
|
||||||
|
"submodules": false,
|
||||||
|
"revision": "0e3be38005e9673d044e994b1e4b123adb040179",
|
||||||
|
"url": "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/archive/0e3be38005e9673d044e994b1e4b123adb040179.tar.gz",
|
||||||
|
"hash": "0y93pj3asarw7jhk4cdphhx6awxdyiwajc0n9nr4836gn48qcs85"
|
||||||
|
},
|
||||||
"nvim-ts-autotag": {
|
"nvim-ts-autotag": {
|
||||||
"type": "Git",
|
"type": "Git",
|
||||||
"repository": {
|
"repository": {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue