mirror of
https://github.com/cmderdev/cmder.git
synced 2025-01-10 08:19:08 +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
|
||||
@chcp 65001>nul
|
||||
:: 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
|
||||
|
||||
|
||||
@ -38,9 +38,10 @@
|
||||
:: Add aliases
|
||||
@doskey /macrofile=%rootDir%\config\aliases
|
||||
|
||||
:: Set home path
|
||||
|
||||
:: cd into users homedir
|
||||
@cd /d %USERPROFILE%
|
||||
|
||||
:: Set home path
|
||||
@set HOME=%USERPROFILE%
|
||||
@echo Welcome to cmder!
|
Loading…
Reference in New Issue
Block a user