cvigilv / esqueleto.nvim

Reduce your boilerplate code the lazy-bones way
MIT License
100 stars 7 forks source link

Conflicts with Fugitive :Gvdiffsplit #50

Open jakebrinkmann opened 7 months ago

jakebrinkmann commented 7 months ago

Seems when I run :Gvdiffsplit (https://github.com/tpope/vim-fugitive) or other git commands, I have skeletons showing in the buffer, instead of the result from fugitive

cvigilv commented 7 months ago

Thanks for the information. Could you provide the following:

With that I can debug and see what the problem could be.

Thanks again!

jakebrinkmann commented 7 months ago

configuration of esqueleto

❯ cat after/plugin/esqueleto.lua
require("esqueleto").setup({
patterns = {
"bash",
"dockerfile",
"gitignore",
"html",
"javascript",
"make",
"markdown",
"plantuml",
"python",
"toml",
"yaml",
--
"pyproject.toml",
},
})

the skeleton directory tree

❯ find skeletons
skeletons
skeletons/skeleton.env.json
skeletons/plantuml
skeletons/plantuml/template.puml
skeletons/toml
skeletons/toml/.stylua.toml
skeletons/python
skeletons/python/shebang3.py
skeletons/dockerfile
skeletons/dockerfile/python-alpine.Dockerfile
skeletons/dockerfile/template
skeletons/markdown
skeletons/markdown/README-gh.md
skeletons/markdown/CHANGELOG
skeletons/markdown/accountability.md
skeletons/markdown/CONTRIBUTING
skeletons/markdown/project.md
skeletons/markdown/README.md
skeletons/pyproject.toml
skeletons/pyproject.toml/pyproject.toml
skeletons/.eslintrc
skeletons/html
skeletons/html/template.html
skeletons/bash
skeletons/bash/script.sh
skeletons/make
skeletons/make/aws-sam.Makefile
skeletons/make/makefile
skeletons/make/python.Makefile
skeletons/confini
skeletons/confini/aws-sso-config
skeletons/.prettierrc
skeletons/yaml
skeletons/yaml/.gitlab-ci.yml
skeletons/javascript
skeletons/javascript/skeleton.jsx
skeletons/javascript/skeleton.test.js
skeletons/javascript/.eslintrc
skeletons/javascript/skeleton.test.jsx
skeletons/javascript/node.js
skeletons/javascript/.prettierrc
skeletons/skeleton.pytest.ini
skeletons/gitignore
skeletons/gitignore/.gitignore

':filetype' in the buffer created by Fugitive

filetype detection:ON plugin:ON indent:ON

interestingly, it seems to ONLY occur the first time running :Gvdiffsplit... if I close that buffer, and then re-issue :Gvdiffsplit it works again 🤔

jakebrinkmann commented 7 months ago

Discovered why the second :Gvdiffsplit is not affected, it's because _G.esqueleto_inserted={ ["fugitive://<redacted_path>/.git//0/.gitlab-ci.yml"] = true, }

--

By adding this inside of M.inserttemplate (~/.local/share/nvim/lazy/esqueleto.nvim/lua/esqueleto/utils.lua) at least make my specific issue go away:

  local ignore_this_buffer = filepath:find("^fugitive://") ~= nil
  if ignore_this_buffer then return nil end
cvigilv commented 7 months ago

@jakebrinkmann Thanks for developing this issue and the pull request. This week I'll havo more time to check everything and test the behavior you describe here. Thanks again!

cvigilv commented 1 month ago

@jakebrinkmann sorry for the long wait, life got in the way and wasn't able to further develop on this.

Please try the following config and report if this works:

require("esqueleto").setup({
  -- Your config...
  advanced = {
    ignore = {"fugitive://*"}
 }
})