mirror of
https://github.com/github/semantic.git
synced 2024-12-23 14:54:16 +03:00
Add include, include once expressions
This commit is contained in:
parent
c8cd20fdf5
commit
57496d5877
@ -35,6 +35,8 @@ type Syntax = '[
|
||||
, Declaration.VariableDeclaration
|
||||
, Syntax.Identifier
|
||||
, Syntax.VariableName
|
||||
, Syntax.IncludeOnce
|
||||
, Syntax.Include
|
||||
, Syntax.RequireOnce
|
||||
, Syntax.Require
|
||||
, [] ]
|
||||
@ -83,12 +85,19 @@ expression = choice [
|
||||
-- yieldExpression,
|
||||
-- unaryExpression,
|
||||
-- binaryExpression,
|
||||
-- includeExpression,
|
||||
-- includeOnceExpression,
|
||||
includeExpression,
|
||||
includeOnceExpression,
|
||||
requireExpression,
|
||||
requireOnceExpression
|
||||
]
|
||||
|
||||
includeExpression :: Assignment
|
||||
includeExpression = makeTerm <$> symbol IncludeExpression <*> children (Syntax.Include <$> expression)
|
||||
|
||||
|
||||
includeOnceExpression :: Assignment
|
||||
includeOnceExpression = makeTerm <$> symbol IncludeOnceExpression <*> children (Syntax.IncludeOnce <$> expression)
|
||||
|
||||
requireExpression :: Assignment
|
||||
requireExpression = makeTerm <$> symbol RequireExpression <*> children (Syntax.Require <$> expression)
|
||||
|
||||
|
@ -35,3 +35,17 @@ newtype Require a = Require a
|
||||
instance Eq1 Require where liftEq = genericLiftEq
|
||||
instance Ord1 Require where liftCompare = genericLiftCompare
|
||||
instance Show1 Require where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
newtype Include a = Include a
|
||||
deriving (Diffable, Eq, Foldable, Functor, GAlign, Generic1, Mergeable, Ord, Show, Traversable)
|
||||
|
||||
instance Eq1 Include where liftEq = genericLiftEq
|
||||
instance Ord1 Include where liftCompare = genericLiftCompare
|
||||
instance Show1 Include where liftShowsPrec = genericLiftShowsPrec
|
||||
|
||||
newtype IncludeOnce a = IncludeOnce a
|
||||
deriving (Diffable, Eq, Foldable, Functor, GAlign, Generic1, Mergeable, Ord, Show, Traversable)
|
||||
|
||||
instance Eq1 IncludeOnce where liftEq = genericLiftEq
|
||||
instance Ord1 IncludeOnce where liftCompare = genericLiftCompare
|
||||
instance Show1 IncludeOnce where liftShowsPrec = genericLiftShowsPrec
|
||||
|
Loading…
Reference in New Issue
Block a user