Giter Site home page Giter Site logo

use libgit2? about neogit HOT 14 OPEN

neogitorg avatar neogitorg commented on August 13, 2024 5
use libgit2?

from neogit.

Comments (14)

TimUntersberger avatar TimUntersberger commented on August 13, 2024

Libgit2 seems like a better solution than writing pure cli commands. How could we then do the git command history stuff?

from neogit.

bfredl avatar bfredl commented on August 13, 2024

@TimUntersberger good question. probably command history will handled in Neovim instead (history for ex commands, for instance, like :Neogit split mybranch and whatever)

from neogit.

TimUntersberger avatar TimUntersberger commented on August 13, 2024

Just to make sure, are we talking about the same thing? I am talking about for example: git status --.... this then gets added to the history along with the stdout, stderr and the return code. I guess we could generate them ourselves?

from neogit.

bfredl avatar bfredl commented on August 13, 2024

@TimUntersberger yea I am not sure about that. But it is not "all or nothing", we can still cli as the baseline, and slowly move things to libgit2 one at at time.

from neogit.

TimUntersberger avatar TimUntersberger commented on August 13, 2024

If you want to you can try changing an existing implementation to use libgit2, so we can see how this would work. The easiest one would probably be the status command. Also how can you include luarocks dependencies?

from neogit.

bfredl avatar bfredl commented on August 13, 2024

Also how can you include luarocks dependencies?

We don't know yet 😅 . I will just hack it into my lua path for now, and discuss with a bunch of ppl (you, packer.nvim, neovim core team) how/if/when we will "do" luarocks deps.

from neogit.

bfredl avatar bfredl commented on August 13, 2024

soo it turns out luagit2 is not compatible with libgit2 1.0. I will see how much effort to fix it (probably not too much, as uses LuaNativeObject)

from neogit.

bfredl avatar bfredl commented on August 13, 2024

WIP libgit2/luagit2#9 should be too hard to finish

from neogit.

TimUntersberger avatar TimUntersberger commented on August 13, 2024

should be too hard

Do you mean shouldn't be too hard ? Nice work!

from neogit.

bfredl avatar bfredl commented on August 13, 2024

I cannot into English grammar :]

from neogit.

TimUntersberger avatar TimUntersberger commented on August 13, 2024

No worries :-) I am excited to see how we could use libgit2! Have you tried neogit yet? How do you feel about the notifications? When i initially developed this I thought it might be a bit too much, but I just went with it anyway, because the concept feels really cool.

from neogit.

bfredl avatar bfredl commented on August 13, 2024

actually not, there so much neovim lua stuff that I am being behind on 😅. I first want to do fugitive style Read/WriteBufCmd and a simple gitgutter (but with decorations instead of signs, it is 2020 already). But I will "try" the neogit experience for sure :]

from neogit.

TimUntersberger avatar TimUntersberger commented on August 13, 2024

decorations instead of signs

👀

What exactly do you mean by decorations?

But I will "try" the neogit experience for sure :]

You could experience a few bugs ... 😅

from neogit.

bfredl avatar bfredl commented on August 13, 2024

What exactly do you mean by decorations?

For instance

  • highlighting the exact byte range of a diff instead of just the lines
  • showing "virtual text" which could be anything (git blame, number of deleted lines, etc etc)

from neogit.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.