rasa-ext-views-0.1.5: src/Rasa/Ext/Views.hs
module Rasa.Ext.Views
( viewports
-- * Working with Views
, View(..)
, viewable
, splitRule
, active
, scrollPos
, getViews
-- * View Structure
-- | Views are stored as a Tree, with 'Split's determining
-- the layout of each branch.
, Split(..)
, Dir(..)
, SplitRule(..)
, Window
, BiTree(..)
, BiTreeF(..)
-- * ProvidedApps
, A.rotate
, A.closeInactive
, A.focusViewLeft
, A.focusViewRight
, A.focusViewAbove
, A.focusViewBelow
, A.hSplit
, A.vSplit
, A.addSplit
, A.nextBuf
, A.prevBuf
, A.focusDo
, A.focusDo_
, A.focusedBufs
, A.isFocused
, A.scrollBy
-- * Creating Widgets
, Widgets
-- | Lenses for accessing parts of 'Widgets':
, topBar
, bottomBar
, leftBar
, rightBar
, HasWidgets(..)
-- ** Providing Widgets
-- | The following functions register a BufAction which yields some renderable;
-- On each render that renderable will be used as a top/bottom/left/right bar respectively.
, addTopBar
, addBottomBar
, addLeftBar
, addRightBar
-- * Provided Widgets
, enableLineNumbers
, disableLineNumbers
, toggleLineNumbers
, checkLineNumbers
, addTopStatus
, addBottomStatus
) where
import Rasa.Ext
import Rasa.Ext.Views.Internal.BiTree
import Rasa.Ext.Views.Internal.Views
import Rasa.Ext.Views.Internal.Widgets
import Rasa.Ext.Views.Internal.LineNumbers
import Rasa.Ext.Views.Internal.StatusBar
import Rasa.Ext.Views.Internal.Actions as A
-- | Main export from the views extension, add this to your rasa config.
viewports :: App ()
viewports = do
onBufAdded_ A.addSplit
lineNumbers