roeme / shgit Goto Github PK
View Code? Open in Web Editor NEWunintrusive lightweight git shell
License: GNU General Public License v3.0
unintrusive lightweight git shell
License: GNU General Public License v3.0
Only after playing with shgit I realized how much I'm relying on the autocomplete features of git-sh
, in particular for aliases. What needs to be done to make them available here?
I have defined quite a few aliases which I'd like to have available as top-level commands in a Git shell. git-sh
had this, would you support this here too?
Implement some kind of automated testing, so we can implement CI, and maybe CD. This is also of some importance since I'd like to target more than one version of bash (and even zsh, maybe?), and maybe even some other platforms and stuff.
Other projects already solve the prompting problem in a very sophisticated way:
Can we offer an option to not override the prompt, except perhaps prepending shgit
or something else that indicates we are in the shell? We could enable the built-in prompt if PROMPT_COMMAND
is unset, and that prompt could stay lightweight.
./install.sh install
writes two entries in the Git config that contain absolute paths. I'd rather exclude these parts from the global Git config.
For me, the following works:
.gitconfig
[include]
path = .gitconfig.shgit
.gitconfig.shgit
[shgit]
quiet-init = true
prompt-command-mode = stealthy
verbose-exec = true
location = /.../git/shgit
[alias]
sh = !'/.../git/shgit/shgit.sh'
Should ./install.sh
default to writing an external file and adding only an include?
My experience from using and teaching git-sh
suggests that for aliased commands it helps to see the command the alias maps to.
The relevant PR to git-sh
is here: https://github.com/armano2/git-sh/pull/11/files. Can we port it over?
Most .sh
files are missing a final newline. I have tried to work around with editorconfig, but this isn't supported with my editor: editorconfig/editorconfig-vscode#153.
Do you feel strongly about newlines at EOF? Would an .editorconfig
that enables this setting only for this project help?
I think the +x-y
or =
indicators that git-sh
had are helpful to understand quickly if a push/pull action is needed. How many syscalls do we need for:
git for-each-ref --format="%(upstream:track)%(upstream:trackshort)" refs/heads/master
The "dirty" indicator would be nice to have too.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.