{-# LANGUAGE DeriveDataTypeable #-} {-# LANGUAGE DeriveGeneric #-} {-# OPTIONS_HADDOCK show-extensions #-} -- | -- Module : Yi.UI.LineNumbers -- License : GPL-2 -- Maintainer : yi-devel@googlegroups.com -- Stability : experimental -- Portability : portable -- -- Line numbers. module Yi.UI.LineNumbers ( getDisplayLineNumbersLocal , setDisplayLineNumbersLocal ) where import Data.Binary (Binary (..)) import Data.Default (Default (..)) import Data.Typeable (Typeable) import GHC.Generics (Generic) import Yi.Buffer (getBufferDyn, putBufferDyn) import Yi.Types (BufferM, YiVariable) newtype DisplayLineNumbersLocal = DisplayLineNumbersLocal { unDisplayLineNumbersLocal :: Maybe Bool } deriving (Generic, Typeable) instance Default DisplayLineNumbersLocal where def = DisplayLineNumbersLocal Nothing instance Binary DisplayLineNumbersLocal instance YiVariable DisplayLineNumbersLocal -- | Get the buffer-local line number setting. getDisplayLineNumbersLocal :: BufferM (Maybe Bool) getDisplayLineNumbersLocal = unDisplayLineNumbersLocal <$> getBufferDyn -- | Set the buffer-local line number setting. -- Nothing: use global setting -- Just True: display line numbers only in this buffer -- Just False: hide line numbers only in this buffer setDisplayLineNumbersLocal :: Maybe Bool -> BufferM () setDisplayLineNumbersLocal = putBufferDyn . DisplayLineNumbersLocal