Add gpgSign option to git identity helper
This commit is contained in:
parent
e09e3045e8
commit
40cce1e163
2 changed files with 1 additions and 84 deletions
83
bin/treh
83
bin/treh
|
@ -1,83 +0,0 @@
|
||||||
#!/usr/bin/env lua
|
|
||||||
|
|
||||||
local arrr = require 'arrr'
|
|
||||||
|
|
||||||
local options do
|
|
||||||
local parse = arrr {
|
|
||||||
{ "Enable coloured output", "--colour", "-c" };
|
|
||||||
{ "Display hidden files", "--hidden", "-h" };
|
|
||||||
}
|
|
||||||
|
|
||||||
options = parse {...}
|
|
||||||
|
|
||||||
local inspect = require 'inspect'
|
|
||||||
end
|
|
||||||
|
|
||||||
local structure = {}
|
|
||||||
|
|
||||||
for line in io.stdin:lines() do
|
|
||||||
local dir = structure
|
|
||||||
for segment in line:gmatch("[^/]+") do
|
|
||||||
if not dir[segment] then dir[segment] = {} end
|
|
||||||
dir = dir[segment]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function reshape(input, name)
|
|
||||||
local output = {name = name}
|
|
||||||
for key, value in pairs(input) do
|
|
||||||
if options.hidden or not key:find("^%..+") then
|
|
||||||
table.insert(output, reshape(value, key))
|
|
||||||
end
|
|
||||||
end
|
|
||||||
table.sort(output, function(a, b)
|
|
||||||
return a.name < b.name
|
|
||||||
end)
|
|
||||||
return output
|
|
||||||
end
|
|
||||||
|
|
||||||
structure = reshape(structure)
|
|
||||||
|
|
||||||
local escape do
|
|
||||||
if options.colour then
|
|
||||||
function escape(num, str)
|
|
||||||
return string.format("\x1b[%im%s\x1b[%im", num, str, 0)
|
|
||||||
end
|
|
||||||
else
|
|
||||||
function escape(num, str)
|
|
||||||
return str
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function line(line)
|
|
||||||
return escape(37, line)
|
|
||||||
end
|
|
||||||
|
|
||||||
local function name(tab)
|
|
||||||
local name = tab.name or '.'
|
|
||||||
if #tab > 0 then
|
|
||||||
return escape(33, name)
|
|
||||||
else
|
|
||||||
return escape(0, name)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function draw(tab, prefix, first)
|
|
||||||
prefix = prefix or ''
|
|
||||||
first = first or ''
|
|
||||||
print(first .. name(tab))
|
|
||||||
for index, path in ipairs(tab) do
|
|
||||||
local new do
|
|
||||||
if index < #tab then
|
|
||||||
draw(path, prefix .. line'│ ', prefix .. line'├──')
|
|
||||||
else
|
|
||||||
draw(path, prefix .. line' ', prefix .. line'└──')
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
for i, value in ipairs(structure) do
|
|
||||||
draw(value)
|
|
||||||
end
|
|
|
@ -25,7 +25,7 @@
|
||||||
h = log -1 --format=%h
|
h = log -1 --format=%h
|
||||||
hash = log -1 --format=%H
|
hash = log -1 --format=%H
|
||||||
head = log -1 --show-signature --format=fuller
|
head = log -1 --show-signature --format=fuller
|
||||||
identity = "! git config user.name \"$(git config user.$1.name)\"; git config user.email \"$(git config user.$1.email)\"; :"
|
identity = "! git config user.name \"$(git config user.$1.name)\"; git config user.email \"$(git config user.$1.email)\"; git config commit.gpgSign \"$(git config user.$1.gpgSign)\"; :"
|
||||||
root = rev-parse --show-toplevel
|
root = rev-parse --show-toplevel
|
||||||
stat = log --oneline --stat --date-order
|
stat = log --oneline --stat --date-order
|
||||||
task = "! TASKDATA=$(git rev-parse --show-toplevel)/.git/task task"
|
task = "! TASKDATA=$(git rev-parse --show-toplevel)/.git/task task"
|
||||||
|
|
Loading…
Reference in a new issue