mirror of
https://github.com/cmderdev/cmder.git
synced 2024-11-10 17:59:11 +08:00
Merge branch 'master' of https://github.com/cmderdev/cmder
This commit is contained in:
commit
e75958b881
20
vendor/clink.lua
vendored
20
vendor/clink.lua
vendored
@ -324,15 +324,19 @@ local function hg_prompt_filter()
|
|||||||
dirty = "\x1b[31;1m",
|
dirty = "\x1b[31;1m",
|
||||||
}
|
}
|
||||||
|
|
||||||
-- 'hg id' gives us BOTH the branch name AND an indicator that there
|
-- 'hg id -ib' gives us BOTH the branch name AND an indicator that there
|
||||||
-- are uncommitted changes, in one fast(er) call
|
-- are uncommitted changes, in one fast(er) call compared to "hg status"
|
||||||
local pipe = io.popen("hg id 2>&1")
|
local pipe = io.popen("hg id -ib 2>&1")
|
||||||
local output = pipe:read('*all')
|
local output = pipe:read('*all')
|
||||||
local rc = { pipe:close() }
|
local rc = { pipe:close() }
|
||||||
|
|
||||||
|
-- strip the trailing newline from the branch name
|
||||||
|
local n = #output
|
||||||
|
while n > 0 and output:find("^%s", n) do n = n - 1 end
|
||||||
|
output = output:sub(1, n)
|
||||||
|
|
||||||
if output ~= nil and
|
if output ~= nil and
|
||||||
string.sub(output,1,7) ~= "abort: " and -- not an HG working copy
|
string.sub(output,1,7) ~= "abort: " and -- not an HG working copy
|
||||||
string.sub(output,1,12) ~= "000000000000" and -- empty wc (needs update)
|
|
||||||
(not string.find(output, "is not recognized")) then -- 'hg' not in path
|
(not string.find(output, "is not recognized")) then -- 'hg' not in path
|
||||||
local color = colors.clean
|
local color = colors.clean
|
||||||
-- split elements on space delimiter
|
-- split elements on space delimiter
|
||||||
@ -342,8 +346,12 @@ local function hg_prompt_filter()
|
|||||||
end
|
end
|
||||||
-- if the repo hash ends with '+', the wc has uncommitted changes
|
-- if the repo hash ends with '+', the wc has uncommitted changes
|
||||||
if string.sub(items[1], -1, -1) == "+" then color = colors.dirty end
|
if string.sub(items[1], -1, -1) == "+" then color = colors.dirty end
|
||||||
-- substitute the branch in directly -- already WITH parentheses. :)
|
-- substitute the branch in directly
|
||||||
result = color .. items[2] -- string.sub(items[2], 1, string.len(items[2]) - 1)
|
if items[2] ~= nil then
|
||||||
|
result = color .. "(" .. items[2] .. ")"
|
||||||
|
else
|
||||||
|
result = color .. "*"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user