module Skylighting.Syntax.Modelines (syntax) where
import Skylighting.Types
import Data.Map
import Skylighting.Regex
import qualified Data.Set
syntax :: Syntax
syntax = Syntax
{ sName = "Modelines"
, sFilename = "modelines.xml"
, sShortname = "Modelines"
, sContexts =
fromList
[ ( "Booleans"
, Context
{ cName = "Booleans"
, cSyntax = "Modelines"
, cRules =
[ Rule
{ rMatcher = DetectSpaces
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims = Data.Set.fromList "\t\n !%&()*+,./;<=>?[\\]^{|}~"
}
(makeWordSet True [ "1" , "on" , "true" ])
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims = Data.Set.fromList "\t\n !%&()*+,./;<=>?[\\]^{|}~"
}
(makeWordSet True [ "0" , "false" , "off" ])
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar ';'
, rAttribute = CommentVarTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher = LineContinue
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Integrals"
, Context
{ cName = "Integrals"
, cSyntax = "Modelines"
, cRules =
[ Rule
{ rMatcher = DetectSpaces
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = Int
, rAttribute = DecValTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar ';'
, rAttribute = CommentVarTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher = LineContinue
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Modeline"
, Context
{ cName = "Modeline"
, cSyntax = "Modelines"
, cRules =
[ Rule
{ rMatcher = DetectSpaces
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims = Data.Set.fromList "\t\n !%&()*+,./;<=>?[\\]^{|}~"
}
(makeWordSet
True
[ "auto-brackets"
, "automatic-spell-checking"
, "backspace-indents"
, "block-selection"
, "bom"
, "bookmark-sorting"
, "byte-order-marker"
, "dynamic-word-wrap"
, "folding-markers"
, "folding-preview"
, "icon-border"
, "indent-pasted-text"
, "keep-extra-spaces"
, "line-numbers"
, "newline-at-eof"
, "overwrite-mode"
, "persistent-selection"
, "replace-tabs"
, "replace-tabs-save"
, "replace-trailing-space-save"
, "scrollbar-minimap"
, "scrollbar-preview"
, "show-tabs"
, "show-trailing-spaces"
, "smart-home"
, "space-indent"
, "tab-indents"
, "word-wrap"
, "wrap-cursor"
])
, rAttribute = CommentVarTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Modelines" , "Booleans" ) ]
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims = Data.Set.fromList "\t\n !%&()*+,./;<=>?[\\]^{|}~"
}
(makeWordSet
True
[ "auto-center-lines"
, "font-size"
, "indent-mode"
, "indent-width"
, "tab-width"
, "undo-steps"
, "word-wrap-column"
])
, rAttribute = CommentVarTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Modelines" , "Integrals" ) ]
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims = Data.Set.fromList "\t\n !%&()*+,./;<=>?[\\]^{|}~"
}
(makeWordSet
True
[ "background-color"
, "bracket-highlight-color"
, "current-line-color"
, "default-dictionary"
, "encoding"
, "end-of-line"
, "eol"
, "font"
, "hl"
, "icon-bar-color"
, "mode"
, "scheme"
, "selection-color"
, "syntax"
, "word-wrap-marker-color"
])
, rAttribute = CommentVarTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Modelines" , "Strings" ) ]
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims = Data.Set.fromList "\t\n !%&()*+,./;<=>?[\\]^{|}~"
}
(makeWordSet True [ "remove-trailing-spaces" ])
, rAttribute = CommentVarTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Modelines" , "RemoveSpaces" ) ]
}
, Rule
{ rMatcher = LineContinue
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Normal"
, Context
{ cName = "Normal"
, cSyntax = "Modelines"
, cRules =
[ Rule
{ rMatcher = DetectSpaces
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims = Data.Set.fromList "\t\n !%&()*+,./;<=>?[\\]^{|}~"
}
(makeWordSet True [ "kate:" ])
, rAttribute = AnnotationTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Modelines" , "Modeline" ) ]
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "kate-(mimetype|wildcard)\\(.*\\):"
, reCompiled =
Just (compileRegex True "kate-(mimetype|wildcard)\\(.*\\):")
, reCaseSensitive = True
}
, rAttribute = AnnotationTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Push ( "Modelines" , "Modeline" ) ]
}
, Rule
{ rMatcher = LineContinue
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "RemoveSpaces"
, Context
{ cName = "RemoveSpaces"
, cSyntax = "Modelines"
, cRules =
[ Rule
{ rMatcher = DetectSpaces
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
Keyword
KeywordAttr
{ keywordCaseSensitive = True
, keywordDelims = Data.Set.fromList "\t\n !%&()*+,./;<=>?[\\]^{|}~"
}
(makeWordSet
True
[ "*"
, "+"
, "-"
, "0"
, "1"
, "2"
, "all"
, "mod"
, "modified"
, "none"
])
, rAttribute = OtherTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher = DetectChar ';'
, rAttribute = CommentVarTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher = LineContinue
, rAttribute = CommentTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = CommentTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
, ( "Strings"
, Context
{ cName = "Strings"
, cSyntax = "Modelines"
, cRules =
[ Rule
{ rMatcher = DetectSpaces
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher =
RegExpr
RE
{ reString = "[^; ]"
, reCompiled = Just (compileRegex True "[^; ]")
, reCaseSensitive = True
}
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = []
}
, Rule
{ rMatcher = DetectChar ';'
, rAttribute = CommentVarTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
, Rule
{ rMatcher = LineContinue
, rAttribute = StringTok
, rIncludeAttribute = False
, rDynamic = False
, rCaseSensitive = True
, rChildren = []
, rLookahead = False
, rFirstNonspace = False
, rColumn = Nothing
, rContextSwitch = [ Pop ]
}
]
, cAttribute = StringTok
, cLineEmptyContext = []
, cLineEndContext = [ Pop ]
, cLineBeginContext = []
, cFallthrough = False
, cFallthroughContext = []
, cDynamic = False
}
)
]
, sAuthor = "Alex Turbov (i.zaufi@gmail.com)"
, sVersion = "3"
, sLicense = "LGPL"
, sExtensions = []
, sStartingContext = "Normal"
}