mirror of https://github.com/Hilbis/Hilbish
Compare commits
2 Commits
19bb05f001
...
554fb009f8
Author | SHA1 | Date |
---|---|---|
sammyette | 554fb009f8 | |
sammyette | 264043dc1e |
|
@ -103,7 +103,7 @@ Available sections: ]] .. table.concat(modules, ', ')
|
||||||
if not self.isSpecial then
|
if not self.isSpecial then
|
||||||
if args[1] == 'api' then
|
if args[1] == 'api' then
|
||||||
self.sink:writeln(lunacolors.reset(string.format('%s', vals.title)))
|
self.sink:writeln(lunacolors.reset(string.format('%s', vals.title)))
|
||||||
self.sink:write(lunacolors.format(string.format('{grayBg} ↳ {white}{italic}%s {reset}', vals.description)))
|
self.sink:write(lunacolors.format(string.format('{grayBg} ↳ {white}{italic}%s {reset}', vals.description or 'No description.')))
|
||||||
else
|
else
|
||||||
self.sink:write(lunacolors.reset(string.format('Viewing doc page %s', moddocPath)))
|
self.sink:write(lunacolors.reset(string.format('Viewing doc page %s', moddocPath)))
|
||||||
end
|
end
|
||||||
|
|
|
@ -2,6 +2,7 @@ local ansikit = require 'ansikit'
|
||||||
local bait = require 'bait'
|
local bait = require 'bait'
|
||||||
local commander = require 'commander'
|
local commander = require 'commander'
|
||||||
local hilbish = require 'hilbish'
|
local hilbish = require 'hilbish'
|
||||||
|
local lunacolors = require 'lunacolors'
|
||||||
local terminal = require 'terminal'
|
local terminal = require 'terminal'
|
||||||
local Greenhouse = require 'nature.greenhouse'
|
local Greenhouse = require 'nature.greenhouse'
|
||||||
local Page = require 'nature.greenhouse.page'
|
local Page = require 'nature.greenhouse.page'
|
||||||
|
@ -42,12 +43,7 @@ commander.register('greenhouse', function(args, sinks)
|
||||||
|
|
||||||
self.sink:write(ansikit.getCSI(self.region.height + 1 .. ';1', 'H'))
|
self.sink:write(ansikit.getCSI(self.region.height + 1 .. ';1', 'H'))
|
||||||
if not self.isSpecial then
|
if not self.isSpecial then
|
||||||
self.sink:write(string.format('\27[0mPage %d', self.curPage))
|
self.sink:writeln(lunacolors.format(string.format('{grayBg} ↳ Page %d %s{reset}', self.curPage, workingPage.title and ' — ' .. workingPage.title .. ' ' or '')))
|
||||||
if workingPage.title ~= '' then
|
|
||||||
self.sink:writeln(' — ' .. workingPage.title)
|
|
||||||
else
|
|
||||||
self.sink:writeln('')
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
self.sink:write(buffer == '' and display or buffer)
|
self.sink:write(buffer == '' and display or buffer)
|
||||||
end
|
end
|
||||||
|
@ -106,16 +102,23 @@ commander.register('greenhouse', function(args, sinks)
|
||||||
gh:addPage(page)
|
gh:addPage(page)
|
||||||
end
|
end
|
||||||
|
|
||||||
for _, name in ipairs(args) do
|
if #args ~= 0 then
|
||||||
local f <close> = io.open(name, 'r')
|
for _, name in ipairs(args) do
|
||||||
if not f then
|
local f <close> = io.open(name, 'r')
|
||||||
sinks.err:writeln(string.format('could not open file %s', name))
|
if not f then
|
||||||
end
|
sinks.err:writeln(string.format('could not open file %s', name))
|
||||||
|
end
|
||||||
|
|
||||||
local page = Page(name, f:read '*a')
|
local page = Page(name, f:read '*a')
|
||||||
gh:addPage(page)
|
gh:addPage(page)
|
||||||
|
end
|
||||||
|
ansikit.hideCursor()
|
||||||
|
gh:initUi()
|
||||||
|
else
|
||||||
|
sinks.out:writeln [[greenhouse is the Hilbish pager library and command!
|
||||||
|
usage: greenhouse <file>...
|
||||||
|
|
||||||
|
example: greenhouse hello.md]]
|
||||||
end
|
end
|
||||||
|
|
||||||
ansikit.hideCursor()
|
|
||||||
gh:initUi()
|
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -27,6 +27,12 @@ function Greenhouse:new(sink)
|
||||||
['Ctrl-Left'] = self.previous,
|
['Ctrl-Left'] = self.previous,
|
||||||
['Ctrl-Right'] = self.next,
|
['Ctrl-Right'] = self.next,
|
||||||
['Ctrl-N'] = function(self) self:toc(true) end,
|
['Ctrl-N'] = function(self) self:toc(true) end,
|
||||||
|
['Enter'] = function(self)
|
||||||
|
if self.isSpecial then
|
||||||
|
self:jump(self.specialPageIdx)
|
||||||
|
self:special(false)
|
||||||
|
end
|
||||||
|
end
|
||||||
}
|
}
|
||||||
self.isSpecial = false
|
self.isSpecial = false
|
||||||
self.specialPage = nil
|
self.specialPage = nil
|
||||||
|
|
Loading…
Reference in New Issue