Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/ubolonton/magit-libgit2
- Owner: ubolonton
- Created: 2017-12-23T03:38:55.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-09-27T17:14:41.000Z (over 5 years ago)
- Last Synced: 2024-10-10T23:29:55.691Z (4 months ago)
- Language: Shell
- Homepage:
- Size: 17.6 KB
- Stars: 32
- Watchers: 8
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.org
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_srcRecompile and reload the module every time the code changes:
#+begin_src bash
cargo watch -x build -s ./bin/load.sh
#+end_srcNote: 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