Stylish Haskell
This commit is contained in:
parent
f12134bf55
commit
7d8bf5d857
|
@ -35,6 +35,7 @@
|
|||
haskellPackages.haskell-language-server # you must build it with your ghc to work
|
||||
ghcid
|
||||
cabal-install
|
||||
stylish-haskell
|
||||
];
|
||||
inputsFrom = map (__getAttr "env") (__attrValues self.packages.${system});
|
||||
};
|
||||
|
|
|
@ -5,7 +5,7 @@ module DND
|
|||
, module DND.Dice
|
||||
) where
|
||||
|
||||
import DND.Sheet.Content
|
||||
import DND.Sheet.Parser
|
||||
import DND.Dice
|
||||
import DND.Bob
|
||||
import DND.Bob
|
||||
import DND.Dice
|
||||
import DND.Sheet.Content
|
||||
import DND.Sheet.Parser
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
module DND.Bob (bob) where
|
||||
|
||||
import DND.Sheet.Content
|
||||
import DND.Sheet.Content
|
||||
|
||||
bob :: Character
|
||||
bob = Character {skills=testSkills, trivia=testTrivia, stats=testStats, spells=Just testSpells, preamble=testPreamble, feats=Just testFeatures}
|
||||
bob = Character {skills = testSkills, trivia = testTrivia, stats = testStats, spells = Just testSpells, preamble = testPreamble, feats = Just testFeatures}
|
||||
|
||||
testStats :: [Stat]
|
||||
testStats = [strStat,dexStat,conStat,intStat,wisStat,chaStat]
|
||||
testStats = [strStat, dexStat, conStat, intStat, wisStat, chaStat]
|
||||
|
||||
testPreamble :: Preamble
|
||||
testPreamble = Preamble 1 "Bob" "Elf" "Fighter" False
|
||||
|
|
|
@ -4,7 +4,7 @@ module DND.Dice
|
|||
, advantage
|
||||
) where
|
||||
|
||||
import System.Random
|
||||
import System.Random
|
||||
|
||||
rolls :: RandomGen a => Int -> Int -> a -> [Int]
|
||||
rolls x y = take x . randomRs (1, y)
|
||||
|
|
|
@ -3,5 +3,5 @@ module DND.Sheet
|
|||
, module DND.Sheet.Parser
|
||||
) where
|
||||
|
||||
import DND.Sheet.Content
|
||||
import DND.Sheet.Parser
|
||||
import DND.Sheet.Content
|
||||
import DND.Sheet.Parser
|
||||
|
|
|
@ -11,11 +11,10 @@ module DND.Sheet.Content
|
|||
, SpellComponent(..)
|
||||
, Feature(..)
|
||||
, FeatInfo(..)
|
||||
, fiets
|
||||
) where
|
||||
|
||||
import Data.Aeson ( FromJSON, ToJSON )
|
||||
import GHC.Generics ( Generic )
|
||||
import Data.Aeson (FromJSON, ToJSON)
|
||||
import GHC.Generics (Generic)
|
||||
|
||||
instance FromJSON Character
|
||||
instance ToJSON Character
|
||||
|
@ -54,59 +53,54 @@ data ScoreMod = None
|
|||
|
||||
data Character = Character
|
||||
{ preamble :: Preamble
|
||||
, trivia :: Trivia
|
||||
, stats :: [Stat]
|
||||
, skills :: [Skill]
|
||||
, spells :: Maybe [Spell]
|
||||
, feats :: Maybe [Feature]
|
||||
, trivia :: Trivia
|
||||
, stats :: [Stat]
|
||||
, skills :: [Skill]
|
||||
, spells :: Maybe [Spell]
|
||||
, feats :: Maybe [Feature]
|
||||
} deriving ( Show, Eq, Ord, Generic)
|
||||
|
||||
data Preamble = Preamble
|
||||
{ charLevel :: Int
|
||||
, charName :: String
|
||||
, charRace :: String
|
||||
, charClass :: String
|
||||
{ charLevel :: Int
|
||||
, charName :: String
|
||||
, charRace :: String
|
||||
, charClass :: String
|
||||
, jackOfAllTrades :: Bool
|
||||
} deriving ( Show, Eq, Ord, Generic)
|
||||
|
||||
data Trivia = Trivia
|
||||
{ background :: String
|
||||
{ background :: String
|
||||
, personalityTrait :: String
|
||||
, ideals :: String
|
||||
, bonds :: String
|
||||
, flaws :: String
|
||||
, quirk :: String
|
||||
, ideals :: String
|
||||
, bonds :: String
|
||||
, flaws :: String
|
||||
, quirk :: String
|
||||
} deriving ( Show, Eq, Ord, Generic)
|
||||
|
||||
data Skill = Skill
|
||||
{ skillName :: String
|
||||
, skillMod :: ScoreMod
|
||||
{ skillName :: String
|
||||
, skillMod :: ScoreMod
|
||||
, relatedStat :: String
|
||||
} deriving ( Show, Eq, Ord, Generic)
|
||||
|
||||
fiets = Skill { skillName = "Stuff"
|
||||
, skillMod = None
|
||||
, relatedStat = "Strength"
|
||||
}
|
||||
|
||||
data Stat = Stat
|
||||
{ statName :: String
|
||||
, score :: Int
|
||||
{ statName :: String
|
||||
, score :: Int
|
||||
, proficient :: Bool
|
||||
} deriving ( Show, Eq, Ord, Generic)
|
||||
|
||||
data Spell = Spell
|
||||
{ spellName :: String
|
||||
, spellLevel :: Int
|
||||
, castingTime :: String
|
||||
, range :: Int
|
||||
, components :: [SpellComponent]
|
||||
, duration :: String
|
||||
, attackSave :: String
|
||||
{ spellName :: String
|
||||
, spellLevel :: Int
|
||||
, castingTime :: String
|
||||
, range :: Int
|
||||
, components :: [SpellComponent]
|
||||
, duration :: String
|
||||
, attackSave :: String
|
||||
, damageEffect :: String
|
||||
, description :: String
|
||||
, school :: String
|
||||
, atHighLevel :: String
|
||||
, description :: String
|
||||
, school :: String
|
||||
, atHighLevel :: String
|
||||
} deriving ( Show, Eq, Ord, Generic)
|
||||
|
||||
data SpellComponent = Verbal
|
||||
|
@ -114,19 +108,19 @@ data SpellComponent = Verbal
|
|||
| Material
|
||||
deriving ( Show, Eq, Ord, Generic)
|
||||
|
||||
data FeatInfo = FeatInfo { featName :: String
|
||||
data FeatInfo = FeatInfo { featName :: String
|
||||
, featDescription :: String
|
||||
} deriving ( Show, Eq, Ord, Generic)
|
||||
|
||||
data Feature = StatIncrease
|
||||
{ featInfo :: FeatInfo
|
||||
, increase :: [Stat] }
|
||||
| SetProficiency
|
||||
{ featInfo :: FeatInfo
|
||||
| SetProficiency
|
||||
{ featInfo :: FeatInfo
|
||||
, changeModState :: [ScoreMod]
|
||||
}
|
||||
| SetExpertise
|
||||
{ featInfo :: FeatInfo
|
||||
{ featInfo :: FeatInfo
|
||||
, changeModState :: [ScoreMod]
|
||||
}
|
||||
| AddSpell
|
||||
|
|
|
@ -8,13 +8,13 @@ module DND.Sheet.Parser
|
|||
, listSkillNames
|
||||
) where
|
||||
|
||||
import Data.Aeson
|
||||
import DND.Sheet.Content
|
||||
import DND.Bob(bob)
|
||||
import Control.Monad
|
||||
import qualified Data.ByteString.Lazy as B
|
||||
import Control.Monad
|
||||
import Data.Aeson
|
||||
import qualified Data.ByteString.Lazy as B
|
||||
import qualified Data.ByteString.Lazy.UTF8 as BSU
|
||||
import Data.Maybe (fromJust)
|
||||
import Data.Maybe (fromJust)
|
||||
import DND.Bob (bob)
|
||||
import DND.Sheet.Content
|
||||
|
||||
--getSheet :: FilePath -> IO B.ByteString
|
||||
--getSheet = B.readFile
|
||||
|
|
Loading…
Reference in a new issue