headroom-0.4.3.0: src/Headroom/FileSupport/Dart.hs
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE QuasiQuotes #-}
{-|
Module : Headroom.FileSupport.Dart
Description : Support for /Dart/ source code files
Copyright : (c) 2019-2022 Vaclav Svejcar
License : BSD-3-Clause
Maintainer : vaclav.svejcar@gmail.com
Stability : experimental
Portability : POSIX
Basic support for /Dart language/ source code files. This implementation doesn't
extract any variables or template data.
-}
module Headroom.FileSupport.Dart
( fileSupport
)
where
import Headroom.Data.Regex ( isMatch
, re
)
import Headroom.FileSupport.Types ( FileSupport(..)
, SyntaxAnalysis(..)
, defaultFileSupport
)
import Headroom.FileType.Types ( FileType(Dart) )
------------------------------ PUBLIC FUNCTIONS ------------------------------
-- | Implementation of 'FileSupport' for /Dart/.
fileSupport :: FileSupport
fileSupport = defaultFileSupport Dart syntaxAnalysis
------------------------------ PRIVATE FUNCTIONS -----------------------------
syntaxAnalysis :: SyntaxAnalysis
syntaxAnalysis = SyntaxAnalysis { saIsCommentStart = isMatch [re|^\/\*|^\/\/|]
, saIsCommentEnd = isMatch [re|\*\/$|^\/\/|]
}