repositories / dotfiles
dotfiles
bugabingas dorkfiles
owned by admin
neovim/lua/bugabinga/pivi/init.lua
Rawlocal session = require 'bugabinga.pivi.session'
local help = require 'bugabinga.pivi.help'
local command = require 'bugabinga.pivi.command'
local status = require 'bugabinga.pivi.status'
local publish = require 'bugabinga.pivi.publish'
local transcript = require 'bugabinga.pivi.transcript'
local activity = require 'bugabinga.pivi.activity'
local edit = require 'bugabinga.pivi.edit'
local follow = require 'bugabinga.pivi.follow'
local dialog = require 'bugabinga.pivi.dialog'
local context = require 'bugabinga.pivi.context'
local bridge = require 'bugabinga.pivi.bridge'
local docs = require 'bugabinga.pivi.docs'
local runtime = require 'bugabinga.pivi.runtime'
local entry = require 'bugabinga.pivi.entry'
local render = require 'bugabinga.pivi.render'
local fold = require 'bugabinga.pivi.fold'
local navigate = require 'bugabinga.pivi.navigate'
local detail = require 'bugabinga.pivi.detail'
local tool = require 'bugabinga.pivi.tool'
local comparison = require 'bugabinga.pivi.diff'
local guide = require 'bugabinga.pivi.guide'
local layout = require 'bugabinga.pivi.layout'
--- Reads cached status only. Safe to call from a statusline.
local summary = function( name ) return publish.summary( name ) end
local reset = function()
session.stop_all()
follow.reset()
dialog.reset()
transcript.forget_all()
publish.reset()
end
_G.BugabingaPivi = {
session = session,
help = help,
command = command,
status = status,
publish = publish,
transcript = transcript,
activity = activity,
edit = edit,
follow = follow,
dialog = dialog,
context = context,
bridge = bridge,
docs = docs,
runtime = runtime,
entry = entry,
render = render,
fold = fold,
navigate = navigate,
detail = detail,
tool = tool,
comparison = comparison,
guide = guide,
layout = layout,
summary = summary,
reset = reset,
}
command.setup()
vim.api.nvim_create_autocmd( 'VimResized', {
group = vim.api.nvim_create_augroup( 'pivi_layout', { clear = true, } ),
desc = 'Resize pivi windows to suit the new editor size.',
callback = function() pcall( layout.apply ) end,
} )
vim.api.nvim_create_autocmd( 'VimLeavePre', {
group = vim.api.nvim_create_augroup( 'pivi_shutdown', { clear = true, } ),
desc = 'End every Pi process when Neovim exits.',
callback = function() pcall( session.stop_all ) end,
} )
return _G.BugabingaPivi