mirror of
https://github.com/cmderdev/cmder.git
synced 2025-04-15 22:22:33 +08:00
Now with git in prompt (fix for #13)
This commit is contained in:
parent
3fefa9698e
commit
c2b37021d4
50
config/git.lua
Normal file
50
config/git.lua
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
---
|
||||||
|
-- Find out current branch
|
||||||
|
-- @return {false|git branch name}
|
||||||
|
---
|
||||||
|
function get_git_branch()
|
||||||
|
for line in io.popen("git branch 2>nul"):lines() do
|
||||||
|
local m = line:match("%* (.+)$")
|
||||||
|
if m then
|
||||||
|
return m
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
---
|
||||||
|
-- Get the status of working dir
|
||||||
|
-- @return {bool}
|
||||||
|
---
|
||||||
|
function get_git_status()
|
||||||
|
return os.execute("git diff-files --quiet --ignore-submodules")
|
||||||
|
end
|
||||||
|
|
||||||
|
function git_prompt_filter()
|
||||||
|
|
||||||
|
-- Colors for git status
|
||||||
|
local colors = {
|
||||||
|
clean = "\x1b[1;37;40m",
|
||||||
|
dirty = "\x1b[31;1m",
|
||||||
|
}
|
||||||
|
|
||||||
|
local branch = get_git_branch()
|
||||||
|
if branch then
|
||||||
|
-- Has branch => therefore it is a git folder, now figure out status
|
||||||
|
if get_git_status() then
|
||||||
|
color = colors.clean
|
||||||
|
else
|
||||||
|
color = colors.dirty
|
||||||
|
end
|
||||||
|
|
||||||
|
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", color.."("..branch..")")
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
-- No git present or not in git file
|
||||||
|
clink.prompt.value = string.gsub(clink.prompt.value, "{git}", "")
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
clink.prompt.register_filter(git_prompt_filter, 50)
|
5
vendor/init.bat
vendored
5
vendor/init.bat
vendored
@ -9,7 +9,7 @@
|
|||||||
:: World without Unicode is a sad world
|
:: World without Unicode is a sad world
|
||||||
@chcp 65001>nul
|
@chcp 65001>nul
|
||||||
:: It has to be lambda, I already made a logo
|
:: It has to be lambda, I already made a logo
|
||||||
@prompt $E[1;32;40m$P $_$E[1;30;40mλ $E[0m
|
@prompt $E[1;32;40m$P$S{git}$S$_$E[1;30;40mλ$S$E[0m
|
||||||
@chcp %cp%>nul
|
@chcp %cp%>nul
|
||||||
|
|
||||||
|
|
||||||
@ -38,9 +38,10 @@
|
|||||||
:: Add aliases
|
:: Add aliases
|
||||||
@doskey /macrofile=%rootDir%\config\aliases
|
@doskey /macrofile=%rootDir%\config\aliases
|
||||||
|
|
||||||
:: Set home path
|
|
||||||
|
|
||||||
:: cd into users homedir
|
:: cd into users homedir
|
||||||
@cd /d %USERPROFILE%
|
@cd /d %USERPROFILE%
|
||||||
|
|
||||||
|
:: Set home path
|
||||||
@set HOME=%USERPROFILE%
|
@set HOME=%USERPROFILE%
|
||||||
@echo Welcome to cmder!
|
@echo Welcome to cmder!
|
Loading…
x
Reference in New Issue
Block a user