Skip to content

Commit

Permalink
Stylish haskell formatting.
Browse files Browse the repository at this point in the history
  • Loading branch information
jgm committed Dec 22, 2016
1 parent 3eee359 commit 4a9e5a6
Show file tree
Hide file tree
Showing 10 changed files with 176 additions and 172 deletions.
18 changes: 9 additions & 9 deletions bin/extract.hs
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
{-# LANGUAGE Arrows #-}

import Skylighting.Parser (parseSyntaxDefinition, missingIncludes)
import Text.Show.Pretty (ppShow)
import Data.Either (partitionEithers)
import Data.List (intercalate, isInfixOf)
import qualified Data.Text as Text
import Skylighting.Parser (missingIncludes, parseSyntaxDefinition)
import Skylighting.Types
import System.Exit
import System.Environment (getArgs)
import System.Directory
import Data.List (isInfixOf, intercalate)
import Data.Either (partitionEithers)
import System.Environment (getArgs)
import System.Exit
import System.IO (hPutStrLn, stderr)
import qualified Data.Text as Text
import Text.Show.Pretty (ppShow)

main :: IO ()
main = do
Expand Down Expand Up @@ -63,9 +63,9 @@ writeModuleFor syn = do
let fp = toPathName syn
putStrLn $ "Writing " ++ fp
let isregex (RegExpr{}) = True
isregex _ = False
isregex _ = False
let iskeyword (Keyword{}) = True
iskeyword _ = False
iskeyword _ = False
let matchers = map rMatcher $ concatMap cRules $ sContexts syn
let usesRegex = any isregex matchers
let usesSet = any iskeyword matchers
Expand Down
36 changes: 18 additions & 18 deletions bin/main.hs
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
{-# LANGUAGE OverloadedStrings #-}

import Skylighting
import Control.Monad
import qualified Data.ByteString.Lazy as BL
import System.IO (hPutStrLn, stderr)
import Text.Printf (printf)
import Data.Char (toLower)
import Data.Monoid
import Control.Monad
import Text.Show.Pretty (ppShow)
import qualified Data.Map as Map
import qualified Text.Blaze.Html5 as H
import qualified Text.Blaze.Html5.Attributes as A
import Text.Blaze.Html.Renderer.String
import System.Environment
import System.Console.GetOpt
import System.Exit
import Data.Version (showVersion)
import Paths_skylighting (version)
import Data.Monoid
import qualified Data.Text as Text
import qualified Data.Text.IO as Text
import Data.Version (showVersion)
import Paths_skylighting (version)
import Skylighting
import System.Console.GetOpt
import System.Environment
import System.Exit
import System.IO (hPutStrLn, stderr)
import Text.Blaze.Html.Renderer.String
import qualified Text.Blaze.Html5 as H
import qualified Text.Blaze.Html5.Attributes as A
import Text.Printf (printf)
import Text.Show.Pretty (ppShow)

data Flag = Sty String
| Theme String
Expand Down Expand Up @@ -105,7 +105,7 @@ styleOf [] = return pygments
styleOf (Theme fp : _) = do
raw <- BL.readFile fp
case parseTheme raw of
Left e -> err e
Left e -> err e
Right sty -> return sty
styleOf (Sty s : _) = case map toLower s of
"pygments" -> return pygments
Expand Down Expand Up @@ -198,12 +198,12 @@ main = do
, syntaxMap = syntaxMap' }

sourceLines <- case tokenize config syntax code of
Left e -> err e
Left e -> err e
Right ls -> return ls

case format of
FormatHtml -> hlHtml fragment fname highlightOpts style sourceLines
FormatLaTeX -> hlLaTeX fragment fname highlightOpts style sourceLines
FormatHtml -> hlHtml fragment fname highlightOpts style sourceLines
FormatLaTeX -> hlLaTeX fragment fname highlightOpts style sourceLines
FormatNative -> putStrLn $ ppShow sourceLines

hlHtml :: Bool -- ^ Fragment
Expand Down
26 changes: 13 additions & 13 deletions src/Skylighting.hs
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,20 @@ module Skylighting (
, module Skylighting.Format.HTML
, module Skylighting.Format.LaTeX
) where
import Skylighting.Types
import Skylighting.Tokenizer
import Skylighting.Parser
import Skylighting.Regex
import Skylighting.Syntax
import Skylighting.Styles
import Skylighting.Format.HTML
import Skylighting.Format.LaTeX
import Control.Monad
import qualified Data.Map as Map
import Data.List (tails)
import qualified Data.Map as Map
import Data.Maybe (listToMaybe)
import qualified Data.Text as Text
import Data.Text (Text)
import qualified Data.Text as Text
import Skylighting.Format.HTML
import Skylighting.Format.LaTeX
import Skylighting.Parser
import Skylighting.Regex
import Skylighting.Styles
import Skylighting.Syntax
import Skylighting.Tokenizer
import Skylighting.Types

-- | Returns a list of languages appropriate for the given file extension.
syntaxesByExtension :: SyntaxMap -> String -> [Syntax]
Expand Down Expand Up @@ -63,7 +63,7 @@ matchGlobs fn globs = any (flip matchGlob fn) globs

-- | Match filename against a glob pattern with asterisks.
matchGlob :: String -> String -> Bool
matchGlob ('*':xs) fn = any (matchGlob xs) (tails fn)
matchGlob ('*':xs) fn = any (matchGlob xs) (tails fn)
matchGlob (x:xs) (y:ys) = x == y && matchGlob xs ys
matchGlob "" "" = True
matchGlob _ _ = False
matchGlob "" "" = True
matchGlob _ _ = False
4 changes: 2 additions & 2 deletions src/Skylighting/Format/HTML.hs
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ module Skylighting.Format.HTML (
, styleToCss
) where

import Data.List (intersperse)
import qualified Data.Text as Text
import Skylighting.Types
import Text.Blaze.Html
import qualified Text.Blaze.Html5 as H
import qualified Text.Blaze.Html5.Attributes as A
import Data.List (intersperse)
import qualified Data.Text as Text

-- | Format tokens using HTML spans inside @code@ tags. For example,
-- A @KeywordTok@ is rendered as a span with class @kw@.
Expand Down
11 changes: 6 additions & 5 deletions src/Skylighting/Format/LaTeX.hs
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@
{-# LANGUAGE OverloadedStrings, ScopedTypeVariables #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Skylighting.Format.LaTeX (
formatLaTeXInline
, formatLaTeXBlock
, styleToLaTeX
) where

import Skylighting.Types
import Text.Printf
import Data.List (intercalate)
import Control.Monad (mplus)
import Data.Char (isSpace)
import Data.List (intercalate)
import Data.Monoid
import Data.Text (Text)
import qualified Data.Text as Text
import Data.Monoid
import Skylighting.Types
import Text.Printf

formatLaTeX :: Bool -> [SourceLine] -> Text
formatLaTeX inline = Text.intercalate (Text.singleton '\n')
Expand Down
94 changes: 47 additions & 47 deletions src/Skylighting/Parser.hs
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,19 @@ module Skylighting.Parser ( parseSyntaxDefinition
, missingIncludes
) where

import Safe
import Data.Char (toUpper, isAlphaNum)
import System.FilePath
import Text.XML.HXT.Core
import Data.ByteString.UTF8 (fromString)
import Data.Char (isAlphaNum, toUpper)
import Data.List (nub)
import qualified Data.Map as Map
import Data.Maybe (fromMaybe)
import qualified Data.Set as Set
import Skylighting.Types
import Skylighting.Regex
import qualified Data.Map as Map
import Data.List (nub)
import qualified Data.Text as Text
import Data.Text (Text)
import Data.ByteString.UTF8 (fromString)
import qualified Data.Text as Text
import Safe
import Skylighting.Regex
import Skylighting.Types
import System.FilePath
import Text.XML.HXT.Core

addSyntaxDefinition :: Syntax -> SyntaxMap -> SyntaxMap
addSyntaxDefinition s = Map.insert (sName s) s
Expand Down Expand Up @@ -54,8 +54,8 @@ parseSyntaxDefinition :: String -> IO (Either String Syntax)
parseSyntaxDefinition xml = do
res <- runX (application xml)
case res of
[s] -> return $ Right s
_ -> return $ Left $ "Could not parse syntax definition " ++ xml
[s] -> return $ Right s
_ -> return $ Left $ "Could not parse syntax definition " ++ xml

application :: String -> IOSArrow b Syntax
application fp
Expand Down Expand Up @@ -114,38 +114,38 @@ getItemDatas =
toTokenType :: String -> TokenType
toTokenType s =
case s of
"dsNormal" -> NormalTok
"dsKeyword" -> KeywordTok
"dsDataType" -> DataTypeTok
"dsDecVal" -> DecValTok
"dsBaseN" -> BaseNTok
"dsFloat" -> FloatTok
"dsConstant" -> ConstantTok
"dsChar" -> CharTok
"dsSpecialChar" -> SpecialCharTok
"dsString" -> StringTok
"dsNormal" -> NormalTok
"dsKeyword" -> KeywordTok
"dsDataType" -> DataTypeTok
"dsDecVal" -> DecValTok
"dsBaseN" -> BaseNTok
"dsFloat" -> FloatTok
"dsConstant" -> ConstantTok
"dsChar" -> CharTok
"dsSpecialChar" -> SpecialCharTok
"dsString" -> StringTok
"dsVerbatimString" -> VerbatimStringTok
"dsSpecialString" -> SpecialStringTok
"dsImport" -> ImportTok
"dsComment" -> CommentTok
"dsDocumentation" -> DocumentationTok
"dsAnnotation" -> AnnotationTok
"dsCommentVar" -> CommentVarTok
"dsOthers" -> OtherTok
"dsFunction" -> FunctionTok
"dsVariable" -> VariableTok
"dsControlFlow" -> ControlFlowTok
"dsOperator" -> OperatorTok
"dsBuiltIn" -> BuiltInTok
"dsExtension" -> ExtensionTok
"dsPreprocessor" -> PreprocessorTok
"dsAttribute" -> AttributeTok
"dsRegionMarker" -> RegionMarkerTok
"dsInformation" -> InformationTok
"dsWarning" -> WarningTok
"dsAlert" -> AlertTok
"dsError" -> ErrorTok
_ -> NormalTok
"dsSpecialString" -> SpecialStringTok
"dsImport" -> ImportTok
"dsComment" -> CommentTok
"dsDocumentation" -> DocumentationTok
"dsAnnotation" -> AnnotationTok
"dsCommentVar" -> CommentVarTok
"dsOthers" -> OtherTok
"dsFunction" -> FunctionTok
"dsVariable" -> VariableTok
"dsControlFlow" -> ControlFlowTok
"dsOperator" -> OperatorTok
"dsBuiltIn" -> BuiltInTok
"dsExtension" -> ExtensionTok
"dsPreprocessor" -> PreprocessorTok
"dsAttribute" -> AttributeTok
"dsRegionMarker" -> RegionMarkerTok
"dsInformation" -> InformationTok
"dsWarning" -> WarningTok
"dsAlert" -> AlertTok
"dsError" -> ErrorTok
_ -> NormalTok

getLists :: IOSArrow XmlTree [(String, [String])]
getLists =
Expand Down Expand Up @@ -253,7 +253,7 @@ getParsers (casesensitive, (syntaxname, (itemdatas, (lists, kwattr)))) cattr =
let (incsyntax, inccontext) =
case break (=='#') context of
(cont, '#':'#':lang) -> (lang, cont)
_ -> (syntaxname, context)
_ -> (syntaxname, context)
let mbmatcher = case name of
"DetectChar" -> Just $ DetectChar char0
"Detect2Chars" -> Just $ Detect2Chars char0 char1
Expand Down Expand Up @@ -330,9 +330,9 @@ pathToLangName s = capitalize (camelize (takeBaseName s))

camelize :: String -> String
camelize (d:c:cs) | not (isAlphaNum d) = toUpper c : camelize cs
camelize (c:cs) = c : camelize cs
camelize [] = []
camelize (c:cs) = c : camelize cs
camelize [] = []

capitalize :: String -> String
capitalize (c:cs) = toUpper c : cs
capitalize [] = []
capitalize [] = []
16 changes: 8 additions & 8 deletions src/Skylighting/Regex.hs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}

module Skylighting.Regex (
Regex
Expand All @@ -11,22 +11,22 @@ module Skylighting.Regex (
, convertOctal
) where

import Text.Printf
import qualified Control.Exception as E
import qualified Data.ByteString.Char8 as BS
import Data.ByteString.UTF8 (toString)
import GHC.Generics (Generic)
import System.IO.Unsafe (unsafePerformIO)
import Text.Printf
import Text.Regex.PCRE.ByteString
import Data.ByteString.UTF8 (toString)
import qualified Control.Exception as E
import qualified Data.ByteString.Char8 as BS

newtype RegexException = RegexException String
deriving (Show, Generic)

instance E.Exception RegexException

data RE = RE{
reString :: BS.ByteString
, reCompiled :: Maybe Regex
reString :: BS.ByteString
, reCompiled :: Maybe Regex
, reCaseSensitive :: Bool
}

Expand Down
4 changes: 2 additions & 2 deletions src/Skylighting/Styles.hs
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ module Skylighting.Styles (
, monochrome
, zenburn) where

import Skylighting.Types
import Data.ByteString.Lazy (ByteString)
import Data.Aeson (eitherDecode)
import Data.ByteString.Lazy (ByteString)
import Skylighting.Types

-- | Parse a KDE theme JSON document into a skylighting Style.
parseTheme :: ByteString -> Either String Style
Expand Down
Loading

0 comments on commit 4a9e5a6

Please sign in to comment.