Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ubolonton/magit-libgit2

Experimental libgit2 support for magit, using Rust
https://github.com/ubolonton/magit-libgit2

Last synced: 3 months ago
JSON representation

Experimental libgit2 support for magit, using Rust

Awesome Lists containing this project

README

        

* Experimental libgit2 support for magit
*Note*: Do not use this, unless you are interested in Rust. Magit is getting its [[https://github.com/magit/libegit2][own libgit2 binding]] through C.

** Installation
Install Rust tool chain.
Build the dylib:
#+begin_src shell
cargo build
cd target/debug
ln -s libmagit_libgit2.dylib magit-libgit2.so
#+end_src
Load it in Emacs:
#+begin_src lisp
(add-to-list 'load-path "/path/to/magit-libgit2/target/debug")
(require 'magit-libgit2)
(add-to-list 'load-path "/path/to/magit-libgit2/elisp")
(require 'magit-libgit2-x)
#+end_src

** Development
#+begin_src bash
cargo install cargo-watch
#+end_src

*** Interactive development
In Emacs:
#+begin_src lisp
(server-start)
#+end_src

Recompile and reload the module every time the code changes:
#+begin_src bash
cargo watch -x build -s ./bin/load.sh
#+end_src

Note: Don't add =/path/to/magit-libgit2/target/debug= to =load-path=. Don't use Emacs's default loading mechanism.

*** Continuous testing
#+begin_src bash
cargo watch -x build -s ./bin/test.sh
#+end_src