packages feed

proteome-0.9.9.9: lib/Proteome/Data/Env.hs

module Proteome.Data.Env where

import Ribosome (Buffer)

import Proteome.Data.Project(Project)
import Proteome.Data.ProjectMetadata (ProjectMetadata (DirProject, VirtualProject))
import Proteome.Data.ProjectType (ProjectType)
import Proteome.Data.Replace (Replace)

data Env =
  Env {
    mainProject :: Project,
    projects :: [Project],
    currentProjectIndex :: Int,
    configLog :: [Text],
    buffers :: [Buffer],
    replace :: Maybe Replace
  }
  deriving stock (Show, Generic)
  deriving anyclass (Default)

mainType :: Env -> Maybe ProjectType
mainType env =
  case env ^. (#mainProject . #meta) of
    DirProject _ _ tpe ->
      tpe
    VirtualProject _ ->
      Nothing