Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chambln/kakoune-kit
A Git porcelain inside Kakoune
https://github.com/chambln/kakoune-kit
kakoune plugin
Last synced: about 16 hours ago
JSON representation
A Git porcelain inside Kakoune
- Host: GitHub
- URL: https://github.com/chambln/kakoune-kit
- Owner: chambln
- License: unlicense
- Created: 2019-11-30T22:39:48.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-10-30T23:26:59.000Z (about 2 years ago)
- Last Synced: 2024-11-12T00:40:13.687Z (about 1 month ago)
- Topics: kakoune, plugin
- Language: KakouneScript
- Homepage:
- Size: 48.8 KB
- Stars: 22
- Watchers: 5
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Kit – A Git porcelain inside [Kakoune](https://kakoune.org)
This plugin is far from complete, but not totally useless right now.
So far it’s just a few hooks that coerce the selection onto the file
paths and SHA1s in `:git status -s` and `:git log` buffers. Combine this
with `: … %val{selections} …` mappings to create a
selection-oriented Git interface.## Configuration
Suggested configuration:
``` kak
plug chambln/kakoune-kit config %{
map global user g ': git status -bs' -docstring 'git status'
hook global WinSetOption filetype=git-status %{
map window normal c ': git commit --verbose '
map window normal l ': git log --oneline --graph -- f'
map window normal d ': -- %val{selections} git diff '
map window normal D ': -- %val{selections} git diff --cached '
map window normal a ': -- %val{selections} git add '
map window normal A ': -- %val{selections} terminal git add -p '
map window normal r ': -- %val{selections} git reset '
map window normal R ': -- %val{selections} terminal git reset -p '
map window normal o ': -- %val{selections} git checkout '
}
hook global WinSetOption filetype=git-log %{
map window normal d ': %val{selections} git diff '
map window normal ': %val{selections} git show '
map window normal r ': %val{selections} git reset '
map window normal R ': %val{selections} terminal git reset -p '
map window normal o ': %val{selections} git checkout '
}
}
```