packages feed

highlighting-kate 0.6 → 0.6.1

raw patch · 12 files changed

+614/−28 lines, 12 filesdep +bytestringdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: bytestring

Dependency ranges changed: base

API changes (from Hackage documentation)

- Text.Highlighting.Kate.Types: backgroundColor :: Style -> Maybe Color
- Text.Highlighting.Kate.Types: codeClasses :: FormatOptions -> [String]
- Text.Highlighting.Kate.Types: containerClasses :: FormatOptions -> [String]
- Text.Highlighting.Kate.Types: defaultColor :: Style -> Maybe Color
- Text.Highlighting.Kate.Types: instance Data Color
- Text.Highlighting.Kate.Types: instance Data Style
- Text.Highlighting.Kate.Types: instance Data TokenStyle
- Text.Highlighting.Kate.Types: instance Data TokenType
- Text.Highlighting.Kate.Types: instance Enum TokenType
- Text.Highlighting.Kate.Types: instance Eq FormatOptions
- Text.Highlighting.Kate.Types: instance Eq TokenType
- Text.Highlighting.Kate.Types: instance FromColor (Double, Double, Double)
- Text.Highlighting.Kate.Types: instance FromColor (Word8, Word8, Word8)
- Text.Highlighting.Kate.Types: instance FromColor String
- Text.Highlighting.Kate.Types: instance Read Color
- Text.Highlighting.Kate.Types: instance Read FormatOptions
- Text.Highlighting.Kate.Types: instance Read Style
- Text.Highlighting.Kate.Types: instance Read TokenStyle
- Text.Highlighting.Kate.Types: instance Read TokenType
- Text.Highlighting.Kate.Types: instance Show Color
- Text.Highlighting.Kate.Types: instance Show FormatOptions
- Text.Highlighting.Kate.Types: instance Show Style
- Text.Highlighting.Kate.Types: instance Show SyntaxState
- Text.Highlighting.Kate.Types: instance Show TokenStyle
- Text.Highlighting.Kate.Types: instance Show TokenType
- Text.Highlighting.Kate.Types: instance ToColor (Double, Double, Double)
- Text.Highlighting.Kate.Types: instance ToColor (Word8, Word8, Word8)
- Text.Highlighting.Kate.Types: instance ToColor Int
- Text.Highlighting.Kate.Types: instance ToColor String
- Text.Highlighting.Kate.Types: instance Typeable Color
- Text.Highlighting.Kate.Types: instance Typeable Style
- Text.Highlighting.Kate.Types: instance Typeable TokenStyle
- Text.Highlighting.Kate.Types: instance Typeable TokenType
- Text.Highlighting.Kate.Types: lineAnchors :: FormatOptions -> Bool
- Text.Highlighting.Kate.Types: lineNumberBackgroundColor :: Style -> Maybe Color
- Text.Highlighting.Kate.Types: lineNumberColor :: Style -> Maybe Color
- Text.Highlighting.Kate.Types: numberLines :: FormatOptions -> Bool
- Text.Highlighting.Kate.Types: startNumber :: FormatOptions -> Int
- Text.Highlighting.Kate.Types: synStCaptures :: SyntaxState -> [String]
- Text.Highlighting.Kate.Types: synStCaseSensitive :: SyntaxState -> Bool
- Text.Highlighting.Kate.Types: synStContexts :: SyntaxState -> ContextStack
- Text.Highlighting.Kate.Types: synStContinuation :: SyntaxState -> Bool
- Text.Highlighting.Kate.Types: synStKeywordCaseSensitive :: SyntaxState -> Bool
- Text.Highlighting.Kate.Types: synStLineNumber :: SyntaxState -> Int
- Text.Highlighting.Kate.Types: synStPrevChar :: SyntaxState -> Char
- Text.Highlighting.Kate.Types: synStPrevNonspace :: SyntaxState -> Bool
- Text.Highlighting.Kate.Types: titleAttributes :: FormatOptions -> Bool
- Text.Highlighting.Kate.Types: tokenBackground :: TokenStyle -> Maybe Color
- Text.Highlighting.Kate.Types: tokenBold :: TokenStyle -> Bool
- Text.Highlighting.Kate.Types: tokenColor :: TokenStyle -> Maybe Color
- Text.Highlighting.Kate.Types: tokenItalic :: TokenStyle -> Bool
- Text.Highlighting.Kate.Types: tokenStyles :: Style -> [(TokenType, TokenStyle)]
- Text.Highlighting.Kate.Types: tokenUnderline :: TokenStyle -> Bool
+ Text.Highlighting.Kate.Syntax: languageByFullName :: String -> Maybe String
+ Text.Highlighting.Kate.Types: [backgroundColor] :: Style -> Maybe Color
+ Text.Highlighting.Kate.Types: [codeClasses] :: FormatOptions -> [String]
+ Text.Highlighting.Kate.Types: [containerClasses] :: FormatOptions -> [String]
+ Text.Highlighting.Kate.Types: [defaultColor] :: Style -> Maybe Color
+ Text.Highlighting.Kate.Types: [lineAnchors] :: FormatOptions -> Bool
+ Text.Highlighting.Kate.Types: [lineNumberBackgroundColor] :: Style -> Maybe Color
+ Text.Highlighting.Kate.Types: [lineNumberColor] :: Style -> Maybe Color
+ Text.Highlighting.Kate.Types: [numberLines] :: FormatOptions -> Bool
+ Text.Highlighting.Kate.Types: [startNumber] :: FormatOptions -> Int
+ Text.Highlighting.Kate.Types: [synStCaptures] :: SyntaxState -> [String]
+ Text.Highlighting.Kate.Types: [synStCaseSensitive] :: SyntaxState -> Bool
+ Text.Highlighting.Kate.Types: [synStContexts] :: SyntaxState -> ContextStack
+ Text.Highlighting.Kate.Types: [synStContinuation] :: SyntaxState -> Bool
+ Text.Highlighting.Kate.Types: [synStKeywordCaseSensitive] :: SyntaxState -> Bool
+ Text.Highlighting.Kate.Types: [synStLineNumber] :: SyntaxState -> Int
+ Text.Highlighting.Kate.Types: [synStPrevChar] :: SyntaxState -> Char
+ Text.Highlighting.Kate.Types: [synStPrevNonspace] :: SyntaxState -> Bool
+ Text.Highlighting.Kate.Types: [titleAttributes] :: FormatOptions -> Bool
+ Text.Highlighting.Kate.Types: [tokenBackground] :: TokenStyle -> Maybe Color
+ Text.Highlighting.Kate.Types: [tokenBold] :: TokenStyle -> Bool
+ Text.Highlighting.Kate.Types: [tokenColor] :: TokenStyle -> Maybe Color
+ Text.Highlighting.Kate.Types: [tokenItalic] :: TokenStyle -> Bool
+ Text.Highlighting.Kate.Types: [tokenStyles] :: Style -> [(TokenType, TokenStyle)]
+ Text.Highlighting.Kate.Types: [tokenUnderline] :: TokenStyle -> Bool
+ Text.Highlighting.Kate.Types: instance Data.Data.Data Text.Highlighting.Kate.Types.Color
+ Text.Highlighting.Kate.Types: instance Data.Data.Data Text.Highlighting.Kate.Types.Style
+ Text.Highlighting.Kate.Types: instance Data.Data.Data Text.Highlighting.Kate.Types.TokenStyle
+ Text.Highlighting.Kate.Types: instance Data.Data.Data Text.Highlighting.Kate.Types.TokenType
+ Text.Highlighting.Kate.Types: instance GHC.Classes.Eq Text.Highlighting.Kate.Types.FormatOptions
+ Text.Highlighting.Kate.Types: instance GHC.Classes.Eq Text.Highlighting.Kate.Types.TokenType
+ Text.Highlighting.Kate.Types: instance GHC.Enum.Enum Text.Highlighting.Kate.Types.TokenType
+ Text.Highlighting.Kate.Types: instance GHC.Read.Read Text.Highlighting.Kate.Types.Color
+ Text.Highlighting.Kate.Types: instance GHC.Read.Read Text.Highlighting.Kate.Types.FormatOptions
+ Text.Highlighting.Kate.Types: instance GHC.Read.Read Text.Highlighting.Kate.Types.Style
+ Text.Highlighting.Kate.Types: instance GHC.Read.Read Text.Highlighting.Kate.Types.TokenStyle
+ Text.Highlighting.Kate.Types: instance GHC.Read.Read Text.Highlighting.Kate.Types.TokenType
+ Text.Highlighting.Kate.Types: instance GHC.Show.Show Text.Highlighting.Kate.Types.Color
+ Text.Highlighting.Kate.Types: instance GHC.Show.Show Text.Highlighting.Kate.Types.FormatOptions
+ Text.Highlighting.Kate.Types: instance GHC.Show.Show Text.Highlighting.Kate.Types.Style
+ Text.Highlighting.Kate.Types: instance GHC.Show.Show Text.Highlighting.Kate.Types.SyntaxState
+ Text.Highlighting.Kate.Types: instance GHC.Show.Show Text.Highlighting.Kate.Types.TokenStyle
+ Text.Highlighting.Kate.Types: instance GHC.Show.Show Text.Highlighting.Kate.Types.TokenType
+ Text.Highlighting.Kate.Types: instance Text.Highlighting.Kate.Types.FromColor (GHC.Types.Double, GHC.Types.Double, GHC.Types.Double)
+ Text.Highlighting.Kate.Types: instance Text.Highlighting.Kate.Types.FromColor (GHC.Word.Word8, GHC.Word.Word8, GHC.Word.Word8)
+ Text.Highlighting.Kate.Types: instance Text.Highlighting.Kate.Types.FromColor GHC.Base.String
+ Text.Highlighting.Kate.Types: instance Text.Highlighting.Kate.Types.ToColor (GHC.Types.Double, GHC.Types.Double, GHC.Types.Double)
+ Text.Highlighting.Kate.Types: instance Text.Highlighting.Kate.Types.ToColor (GHC.Word.Word8, GHC.Word.Word8, GHC.Word.Word8)
+ Text.Highlighting.Kate.Types: instance Text.Highlighting.Kate.Types.ToColor GHC.Base.String
+ Text.Highlighting.Kate.Types: instance Text.Highlighting.Kate.Types.ToColor GHC.Types.Int

Files

ParseSyntaxFiles.hs view
@@ -121,6 +121,9 @@                  names   let languageExtensions = "[" ++ (intercalate ", " $ map (\name ->         "(" ++ show name ++ ", " ++ name ++ ".syntaxExtensions)") names) ++ "]"+  let languageFullNames = "[" ++ (intercalate ", " $ map (\name ->+        "(" ++ show name ++ ", " +++                 name ++ ".syntaxName)") names) ++ "]"   syntaxFileTemplate <- liftM toString $ B.readFile (syntaxFile <.> "in")   let filledTemplate = fillTemplate 0                           [("imports",imports),@@ -128,6 +131,7 @@                            ("supportedlanguages", intercalate ", " $ map (\x ->                                 "@" ++ map toLower x ++ "@") names),                            ("languageExtensions",languageExtensions),+                           ("languageFullNames",languageFullNames),                            ("cases",cases)] syntaxFileTemplate   B.writeFile syntaxFile $ fromString filledTemplate 
Text/Highlighting/Kate/Common.hs view
@@ -12,10 +12,11 @@ -}  module Text.Highlighting.Kate.Common where+import Data.ByteString.UTF8 (fromString, toString) #ifdef _PCRE_LIGHT-import Text.Regex.PCRE.Light.Char8+import Text.Regex.PCRE.Light+import Data.ByteString (ByteString) #else-import Data.ByteString.UTF8 (fromString, toString) import System.IO.Unsafe (unsafePerformIO) import Text.Regex.PCRE.ByteString #endif@@ -192,7 +193,7 @@ compileRegex caseSensitive regexpStr = #ifdef _PCRE_LIGHT   let opts = [anchored, utf8] ++ [caseless | not caseSensitive]-  in  compile ('.' : convertOctal regexpStr) opts+  in  compile (fromString ('.' : convertOctal regexpStr)) opts #else   let opts = compAnchored + compUTF8 +                if caseSensitive then 0 else compCaseless@@ -205,7 +206,10 @@  matchRegex :: Regex -> String -> KateParser (Maybe [String]) #ifdef _PCRE_LIGHT-matchRegex r s = return $ match r s [exec_notempty]+matchRegex r s = return $ toString' $ match r (fromString s) [exec_notempty]+    where toString' :: Maybe [ByteString] -> Maybe [String]+          toString' (Just xs) = Just $ fmap toString xs+          toString' Nothing = Nothing #else matchRegex r s = case unsafePerformIO (regexec r (fromString s)) of                       Right (Just (_, mat, _ , capts)) -> return $
Text/Highlighting/Kate/Syntax.hs view
@@ -10,7 +10,10 @@ Token lexer for various languages. -} -module Text.Highlighting.Kate.Syntax ( highlightAs, languages, languagesByExtension,+module Text.Highlighting.Kate.Syntax ( highlightAs,+                                       languages,+                                       languageByFullName,+                                       languagesByExtension,                                        languagesByFilename ) where import Data.Char (toLower) import Text.Highlighting.Kate.Types@@ -75,6 +78,7 @@ import qualified Text.Highlighting.Kate.Syntax.Lilypond as Lilypond import qualified Text.Highlighting.Kate.Syntax.LiterateCurry as LiterateCurry import qualified Text.Highlighting.Kate.Syntax.LiterateHaskell as LiterateHaskell+import qualified Text.Highlighting.Kate.Syntax.Llvm as Llvm import qualified Text.Highlighting.Kate.Syntax.Lua as Lua import qualified Text.Highlighting.Kate.Syntax.M4 as M4 import qualified Text.Highlighting.Kate.Syntax.Makefile as Makefile@@ -136,12 +140,24 @@  -- | List of supported languages. languages :: [String]-languages = ["Abc","Actionscript","Ada","Agda","Alert","Alert_indent","Apache","Asn1","Asp","Awk","Bash","Bibtex","Boo","C","Changelog","Clojure","Cmake","Coffee","Coldfusion","Commonlisp","Cpp","Cs","Css","Curry","D","Diff","Djangotemplate","Dockerfile","Dot","Doxygen","Doxygenlua","Dtd","Eiffel","Email","Erlang","Fasm","Fortran","Fsharp","Gcc","Glsl","Gnuassembler","Go","Haskell","Haxe","Html","Idris","Ini","Isocpp","Java","Javadoc","Javascript","Json","Jsp","Julia","Kotlin","Latex","Lex","Lilypond","LiterateCurry","LiterateHaskell","Lua","M4","Makefile","Mandoc","Markdown","Mathematica","Matlab","Maxima","Mediawiki","Metafont","Mips","Modelines","Modula2","Modula3","Monobasic","Nasm","Noweb","Objectivec","Objectivecpp","Ocaml","Octave","Opencl","Pascal","Perl","Php","Pike","Postscript","Prolog","Pure","Python","R","Relaxng","Relaxngcompact","Rest","Rhtml","Roff","Ruby","Rust","Scala","Scheme","Sci","Sed","Sgml","Sql","SqlMysql","SqlPostgresql","Tcl","Tcsh","Texinfo","Verilog","Vhdl","Xml","Xorg","Xslt","Xul","Yacc","Yaml","Zsh"]+languages = ["Abc","Actionscript","Ada","Agda","Alert","Alert_indent","Apache","Asn1","Asp","Awk","Bash","Bibtex","Boo","C","Changelog","Clojure","Cmake","Coffee","Coldfusion","Commonlisp","Cpp","Cs","Css","Curry","D","Diff","Djangotemplate","Dockerfile","Dot","Doxygen","Doxygenlua","Dtd","Eiffel","Email","Erlang","Fasm","Fortran","Fsharp","Gcc","Glsl","Gnuassembler","Go","Haskell","Haxe","Html","Idris","Ini","Isocpp","Java","Javadoc","Javascript","Json","Jsp","Julia","Kotlin","Latex","Lex","Lilypond","LiterateCurry","LiterateHaskell","Llvm","Lua","M4","Makefile","Mandoc","Markdown","Mathematica","Matlab","Maxima","Mediawiki","Metafont","Mips","Modelines","Modula2","Modula3","Monobasic","Nasm","Noweb","Objectivec","Objectivecpp","Ocaml","Octave","Opencl","Pascal","Perl","Php","Pike","Postscript","Prolog","Pure","Python","R","Relaxng","Relaxngcompact","Rest","Rhtml","Roff","Ruby","Rust","Scala","Scheme","Sci","Sed","Sgml","Sql","SqlMysql","SqlPostgresql","Tcl","Tcsh","Texinfo","Verilog","Vhdl","Xml","Xorg","Xslt","Xul","Yacc","Yaml","Zsh"]  -- | List of language extensions. languageExtensions :: [(String, String)]-languageExtensions = [("Abc", Abc.syntaxExtensions), ("Actionscript", Actionscript.syntaxExtensions), ("Ada", Ada.syntaxExtensions), ("Agda", Agda.syntaxExtensions), ("Alert", Alert.syntaxExtensions), ("Alert_indent", Alert_indent.syntaxExtensions), ("Apache", Apache.syntaxExtensions), ("Asn1", Asn1.syntaxExtensions), ("Asp", Asp.syntaxExtensions), ("Awk", Awk.syntaxExtensions), ("Bash", Bash.syntaxExtensions), ("Bibtex", Bibtex.syntaxExtensions), ("Boo", Boo.syntaxExtensions), ("C", C.syntaxExtensions), ("Changelog", Changelog.syntaxExtensions), ("Clojure", Clojure.syntaxExtensions), ("Cmake", Cmake.syntaxExtensions), ("Coffee", Coffee.syntaxExtensions), ("Coldfusion", Coldfusion.syntaxExtensions), ("Commonlisp", Commonlisp.syntaxExtensions), ("Cpp", Cpp.syntaxExtensions), ("Cs", Cs.syntaxExtensions), ("Css", Css.syntaxExtensions), ("Curry", Curry.syntaxExtensions), ("D", D.syntaxExtensions), ("Diff", Diff.syntaxExtensions), ("Djangotemplate", Djangotemplate.syntaxExtensions), ("Dockerfile", Dockerfile.syntaxExtensions), ("Dot", Dot.syntaxExtensions), ("Doxygen", Doxygen.syntaxExtensions), ("Doxygenlua", Doxygenlua.syntaxExtensions), ("Dtd", Dtd.syntaxExtensions), ("Eiffel", Eiffel.syntaxExtensions), ("Email", Email.syntaxExtensions), ("Erlang", Erlang.syntaxExtensions), ("Fasm", Fasm.syntaxExtensions), ("Fortran", Fortran.syntaxExtensions), ("Fsharp", Fsharp.syntaxExtensions), ("Gcc", Gcc.syntaxExtensions), ("Glsl", Glsl.syntaxExtensions), ("Gnuassembler", Gnuassembler.syntaxExtensions), ("Go", Go.syntaxExtensions), ("Haskell", Haskell.syntaxExtensions), ("Haxe", Haxe.syntaxExtensions), ("Html", Html.syntaxExtensions), ("Idris", Idris.syntaxExtensions), ("Ini", Ini.syntaxExtensions), ("Isocpp", Isocpp.syntaxExtensions), ("Java", Java.syntaxExtensions), ("Javadoc", Javadoc.syntaxExtensions), ("Javascript", Javascript.syntaxExtensions), ("Json", Json.syntaxExtensions), ("Jsp", Jsp.syntaxExtensions), ("Julia", Julia.syntaxExtensions), ("Kotlin", Kotlin.syntaxExtensions), ("Latex", Latex.syntaxExtensions), ("Lex", Lex.syntaxExtensions), ("Lilypond", Lilypond.syntaxExtensions), ("LiterateCurry", LiterateCurry.syntaxExtensions), ("LiterateHaskell", LiterateHaskell.syntaxExtensions), ("Lua", Lua.syntaxExtensions), ("M4", M4.syntaxExtensions), ("Makefile", Makefile.syntaxExtensions), ("Mandoc", Mandoc.syntaxExtensions), ("Markdown", Markdown.syntaxExtensions), ("Mathematica", Mathematica.syntaxExtensions), ("Matlab", Matlab.syntaxExtensions), ("Maxima", Maxima.syntaxExtensions), ("Mediawiki", Mediawiki.syntaxExtensions), ("Metafont", Metafont.syntaxExtensions), ("Mips", Mips.syntaxExtensions), ("Modelines", Modelines.syntaxExtensions), ("Modula2", Modula2.syntaxExtensions), ("Modula3", Modula3.syntaxExtensions), ("Monobasic", Monobasic.syntaxExtensions), ("Nasm", Nasm.syntaxExtensions), ("Noweb", Noweb.syntaxExtensions), ("Objectivec", Objectivec.syntaxExtensions), ("Objectivecpp", Objectivecpp.syntaxExtensions), ("Ocaml", Ocaml.syntaxExtensions), ("Octave", Octave.syntaxExtensions), ("Opencl", Opencl.syntaxExtensions), ("Pascal", Pascal.syntaxExtensions), ("Perl", Perl.syntaxExtensions), ("Php", Php.syntaxExtensions), ("Pike", Pike.syntaxExtensions), ("Postscript", Postscript.syntaxExtensions), ("Prolog", Prolog.syntaxExtensions), ("Pure", Pure.syntaxExtensions), ("Python", Python.syntaxExtensions), ("R", R.syntaxExtensions), ("Relaxng", Relaxng.syntaxExtensions), ("Relaxngcompact", Relaxngcompact.syntaxExtensions), ("Rest", Rest.syntaxExtensions), ("Rhtml", Rhtml.syntaxExtensions), ("Roff", Roff.syntaxExtensions), ("Ruby", Ruby.syntaxExtensions), ("Rust", Rust.syntaxExtensions), ("Scala", Scala.syntaxExtensions), ("Scheme", Scheme.syntaxExtensions), ("Sci", Sci.syntaxExtensions), ("Sed", Sed.syntaxExtensions), ("Sgml", Sgml.syntaxExtensions), ("Sql", Sql.syntaxExtensions), ("SqlMysql", SqlMysql.syntaxExtensions), ("SqlPostgresql", SqlPostgresql.syntaxExtensions), ("Tcl", Tcl.syntaxExtensions), ("Tcsh", Tcsh.syntaxExtensions), ("Texinfo", Texinfo.syntaxExtensions), ("Verilog", Verilog.syntaxExtensions), ("Vhdl", Vhdl.syntaxExtensions), ("Xml", Xml.syntaxExtensions), ("Xorg", Xorg.syntaxExtensions), ("Xslt", Xslt.syntaxExtensions), ("Xul", Xul.syntaxExtensions), ("Yacc", Yacc.syntaxExtensions), ("Yaml", Yaml.syntaxExtensions), ("Zsh", Zsh.syntaxExtensions)]+languageExtensions = [("Abc", Abc.syntaxExtensions), ("Actionscript", Actionscript.syntaxExtensions), ("Ada", Ada.syntaxExtensions), ("Agda", Agda.syntaxExtensions), ("Alert", Alert.syntaxExtensions), ("Alert_indent", Alert_indent.syntaxExtensions), ("Apache", Apache.syntaxExtensions), ("Asn1", Asn1.syntaxExtensions), ("Asp", Asp.syntaxExtensions), ("Awk", Awk.syntaxExtensions), ("Bash", Bash.syntaxExtensions), ("Bibtex", Bibtex.syntaxExtensions), ("Boo", Boo.syntaxExtensions), ("C", C.syntaxExtensions), ("Changelog", Changelog.syntaxExtensions), ("Clojure", Clojure.syntaxExtensions), ("Cmake", Cmake.syntaxExtensions), ("Coffee", Coffee.syntaxExtensions), ("Coldfusion", Coldfusion.syntaxExtensions), ("Commonlisp", Commonlisp.syntaxExtensions), ("Cpp", Cpp.syntaxExtensions), ("Cs", Cs.syntaxExtensions), ("Css", Css.syntaxExtensions), ("Curry", Curry.syntaxExtensions), ("D", D.syntaxExtensions), ("Diff", Diff.syntaxExtensions), ("Djangotemplate", Djangotemplate.syntaxExtensions), ("Dockerfile", Dockerfile.syntaxExtensions), ("Dot", Dot.syntaxExtensions), ("Doxygen", Doxygen.syntaxExtensions), ("Doxygenlua", Doxygenlua.syntaxExtensions), ("Dtd", Dtd.syntaxExtensions), ("Eiffel", Eiffel.syntaxExtensions), ("Email", Email.syntaxExtensions), ("Erlang", Erlang.syntaxExtensions), ("Fasm", Fasm.syntaxExtensions), ("Fortran", Fortran.syntaxExtensions), ("Fsharp", Fsharp.syntaxExtensions), ("Gcc", Gcc.syntaxExtensions), ("Glsl", Glsl.syntaxExtensions), ("Gnuassembler", Gnuassembler.syntaxExtensions), ("Go", Go.syntaxExtensions), ("Haskell", Haskell.syntaxExtensions), ("Haxe", Haxe.syntaxExtensions), ("Html", Html.syntaxExtensions), ("Idris", Idris.syntaxExtensions), ("Ini", Ini.syntaxExtensions), ("Isocpp", Isocpp.syntaxExtensions), ("Java", Java.syntaxExtensions), ("Javadoc", Javadoc.syntaxExtensions), ("Javascript", Javascript.syntaxExtensions), ("Json", Json.syntaxExtensions), ("Jsp", Jsp.syntaxExtensions), ("Julia", Julia.syntaxExtensions), ("Kotlin", Kotlin.syntaxExtensions), ("Latex", Latex.syntaxExtensions), ("Lex", Lex.syntaxExtensions), ("Lilypond", Lilypond.syntaxExtensions), ("LiterateCurry", LiterateCurry.syntaxExtensions), ("LiterateHaskell", LiterateHaskell.syntaxExtensions), ("Llvm", Llvm.syntaxExtensions), ("Lua", Lua.syntaxExtensions), ("M4", M4.syntaxExtensions), ("Makefile", Makefile.syntaxExtensions), ("Mandoc", Mandoc.syntaxExtensions), ("Markdown", Markdown.syntaxExtensions), ("Mathematica", Mathematica.syntaxExtensions), ("Matlab", Matlab.syntaxExtensions), ("Maxima", Maxima.syntaxExtensions), ("Mediawiki", Mediawiki.syntaxExtensions), ("Metafont", Metafont.syntaxExtensions), ("Mips", Mips.syntaxExtensions), ("Modelines", Modelines.syntaxExtensions), ("Modula2", Modula2.syntaxExtensions), ("Modula3", Modula3.syntaxExtensions), ("Monobasic", Monobasic.syntaxExtensions), ("Nasm", Nasm.syntaxExtensions), ("Noweb", Noweb.syntaxExtensions), ("Objectivec", Objectivec.syntaxExtensions), ("Objectivecpp", Objectivecpp.syntaxExtensions), ("Ocaml", Ocaml.syntaxExtensions), ("Octave", Octave.syntaxExtensions), ("Opencl", Opencl.syntaxExtensions), ("Pascal", Pascal.syntaxExtensions), ("Perl", Perl.syntaxExtensions), ("Php", Php.syntaxExtensions), ("Pike", Pike.syntaxExtensions), ("Postscript", Postscript.syntaxExtensions), ("Prolog", Prolog.syntaxExtensions), ("Pure", Pure.syntaxExtensions), ("Python", Python.syntaxExtensions), ("R", R.syntaxExtensions), ("Relaxng", Relaxng.syntaxExtensions), ("Relaxngcompact", Relaxngcompact.syntaxExtensions), ("Rest", Rest.syntaxExtensions), ("Rhtml", Rhtml.syntaxExtensions), ("Roff", Roff.syntaxExtensions), ("Ruby", Ruby.syntaxExtensions), ("Rust", Rust.syntaxExtensions), ("Scala", Scala.syntaxExtensions), ("Scheme", Scheme.syntaxExtensions), ("Sci", Sci.syntaxExtensions), ("Sed", Sed.syntaxExtensions), ("Sgml", Sgml.syntaxExtensions), ("Sql", Sql.syntaxExtensions), ("SqlMysql", SqlMysql.syntaxExtensions), ("SqlPostgresql", SqlPostgresql.syntaxExtensions), ("Tcl", Tcl.syntaxExtensions), ("Tcsh", Tcsh.syntaxExtensions), ("Texinfo", Texinfo.syntaxExtensions), ("Verilog", Verilog.syntaxExtensions), ("Vhdl", Vhdl.syntaxExtensions), ("Xml", Xml.syntaxExtensions), ("Xorg", Xorg.syntaxExtensions), ("Xslt", Xslt.syntaxExtensions), ("Xul", Xul.syntaxExtensions), ("Yacc", Yacc.syntaxExtensions), ("Yaml", Yaml.syntaxExtensions), ("Zsh", Zsh.syntaxExtensions)] +-- | List of full names of languages.+languageFullNames :: [(String, String)]+languageFullNames = [("Abc", Abc.syntaxName), ("Actionscript", Actionscript.syntaxName), ("Ada", Ada.syntaxName), ("Agda", Agda.syntaxName), ("Alert", Alert.syntaxName), ("Alert_indent", Alert_indent.syntaxName), ("Apache", Apache.syntaxName), ("Asn1", Asn1.syntaxName), ("Asp", Asp.syntaxName), ("Awk", Awk.syntaxName), ("Bash", Bash.syntaxName), ("Bibtex", Bibtex.syntaxName), ("Boo", Boo.syntaxName), ("C", C.syntaxName), ("Changelog", Changelog.syntaxName), ("Clojure", Clojure.syntaxName), ("Cmake", Cmake.syntaxName), ("Coffee", Coffee.syntaxName), ("Coldfusion", Coldfusion.syntaxName), ("Commonlisp", Commonlisp.syntaxName), ("Cpp", Cpp.syntaxName), ("Cs", Cs.syntaxName), ("Css", Css.syntaxName), ("Curry", Curry.syntaxName), ("D", D.syntaxName), ("Diff", Diff.syntaxName), ("Djangotemplate", Djangotemplate.syntaxName), ("Dockerfile", Dockerfile.syntaxName), ("Dot", Dot.syntaxName), ("Doxygen", Doxygen.syntaxName), ("Doxygenlua", Doxygenlua.syntaxName), ("Dtd", Dtd.syntaxName), ("Eiffel", Eiffel.syntaxName), ("Email", Email.syntaxName), ("Erlang", Erlang.syntaxName), ("Fasm", Fasm.syntaxName), ("Fortran", Fortran.syntaxName), ("Fsharp", Fsharp.syntaxName), ("Gcc", Gcc.syntaxName), ("Glsl", Glsl.syntaxName), ("Gnuassembler", Gnuassembler.syntaxName), ("Go", Go.syntaxName), ("Haskell", Haskell.syntaxName), ("Haxe", Haxe.syntaxName), ("Html", Html.syntaxName), ("Idris", Idris.syntaxName), ("Ini", Ini.syntaxName), ("Isocpp", Isocpp.syntaxName), ("Java", Java.syntaxName), ("Javadoc", Javadoc.syntaxName), ("Javascript", Javascript.syntaxName), ("Json", Json.syntaxName), ("Jsp", Jsp.syntaxName), ("Julia", Julia.syntaxName), ("Kotlin", Kotlin.syntaxName), ("Latex", Latex.syntaxName), ("Lex", Lex.syntaxName), ("Lilypond", Lilypond.syntaxName), ("LiterateCurry", LiterateCurry.syntaxName), ("LiterateHaskell", LiterateHaskell.syntaxName), ("Llvm", Llvm.syntaxName), ("Lua", Lua.syntaxName), ("M4", M4.syntaxName), ("Makefile", Makefile.syntaxName), ("Mandoc", Mandoc.syntaxName), ("Markdown", Markdown.syntaxName), ("Mathematica", Mathematica.syntaxName), ("Matlab", Matlab.syntaxName), ("Maxima", Maxima.syntaxName), ("Mediawiki", Mediawiki.syntaxName), ("Metafont", Metafont.syntaxName), ("Mips", Mips.syntaxName), ("Modelines", Modelines.syntaxName), ("Modula2", Modula2.syntaxName), ("Modula3", Modula3.syntaxName), ("Monobasic", Monobasic.syntaxName), ("Nasm", Nasm.syntaxName), ("Noweb", Noweb.syntaxName), ("Objectivec", Objectivec.syntaxName), ("Objectivecpp", Objectivecpp.syntaxName), ("Ocaml", Ocaml.syntaxName), ("Octave", Octave.syntaxName), ("Opencl", Opencl.syntaxName), ("Pascal", Pascal.syntaxName), ("Perl", Perl.syntaxName), ("Php", Php.syntaxName), ("Pike", Pike.syntaxName), ("Postscript", Postscript.syntaxName), ("Prolog", Prolog.syntaxName), ("Pure", Pure.syntaxName), ("Python", Python.syntaxName), ("R", R.syntaxName), ("Relaxng", Relaxng.syntaxName), ("Relaxngcompact", Relaxngcompact.syntaxName), ("Rest", Rest.syntaxName), ("Rhtml", Rhtml.syntaxName), ("Roff", Roff.syntaxName), ("Ruby", Ruby.syntaxName), ("Rust", Rust.syntaxName), ("Scala", Scala.syntaxName), ("Scheme", Scheme.syntaxName), ("Sci", Sci.syntaxName), ("Sed", Sed.syntaxName), ("Sgml", Sgml.syntaxName), ("Sql", Sql.syntaxName), ("SqlMysql", SqlMysql.syntaxName), ("SqlPostgresql", SqlPostgresql.syntaxName), ("Tcl", Tcl.syntaxName), ("Tcsh", Tcsh.syntaxName), ("Texinfo", Texinfo.syntaxName), ("Verilog", Verilog.syntaxName), ("Vhdl", Vhdl.syntaxName), ("Xml", Xml.syntaxName), ("Xorg", Xorg.syntaxName), ("Xslt", Xslt.syntaxName), ("Xul", Xul.syntaxName), ("Yacc", Yacc.syntaxName), ("Yaml", Yaml.syntaxName), ("Zsh", Zsh.syntaxName)]++languageShortNames :: [(String, String)]+languageShortNames =+  [(map toLower y, map toLower x) | (x, y) <- languageFullNames]++-- | Lookup canonical language name by full syntaxName (e.g. "C#" for "Cs").+languageByFullName :: String -> Maybe String+languageByFullName s = lookup s languageShortNames+ -- | Returns a list of languages appropriate for the given file extension. languagesByExtension :: String -> [String] languagesByExtension ('.':ext) = languagesByFilename ("*." ++ ext)@@ -156,7 +172,7 @@ -- extension (if unique). -- The parsers read the input lazily and parse line by line; -- results are returned immediately.--- Supported languages: @abc@, @actionscript@, @ada@, @agda@, @alert@, @alert_indent@, @apache@, @asn1@, @asp@, @awk@, @bash@, @bibtex@, @boo@, @c@, @changelog@, @clojure@, @cmake@, @coffee@, @coldfusion@, @commonlisp@, @cpp@, @cs@, @css@, @curry@, @d@, @diff@, @djangotemplate@, @dockerfile@, @dot@, @doxygen@, @doxygenlua@, @dtd@, @eiffel@, @email@, @erlang@, @fasm@, @fortran@, @fsharp@, @gcc@, @glsl@, @gnuassembler@, @go@, @haskell@, @haxe@, @html@, @idris@, @ini@, @isocpp@, @java@, @javadoc@, @javascript@, @json@, @jsp@, @julia@, @kotlin@, @latex@, @lex@, @lilypond@, @literatecurry@, @literatehaskell@, @lua@, @m4@, @makefile@, @mandoc@, @markdown@, @mathematica@, @matlab@, @maxima@, @mediawiki@, @metafont@, @mips@, @modelines@, @modula2@, @modula3@, @monobasic@, @nasm@, @noweb@, @objectivec@, @objectivecpp@, @ocaml@, @octave@, @opencl@, @pascal@, @perl@, @php@, @pike@, @postscript@, @prolog@, @pure@, @python@, @r@, @relaxng@, @relaxngcompact@, @rest@, @rhtml@, @roff@, @ruby@, @rust@, @scala@, @scheme@, @sci@, @sed@, @sgml@, @sql@, @sqlmysql@, @sqlpostgresql@, @tcl@, @tcsh@, @texinfo@, @verilog@, @vhdl@, @xml@, @xorg@, @xslt@, @xul@, @yacc@, @yaml@, @zsh@.+-- Supported languages: @abc@, @actionscript@, @ada@, @agda@, @alert@, @alert_indent@, @apache@, @asn1@, @asp@, @awk@, @bash@, @bibtex@, @boo@, @c@, @changelog@, @clojure@, @cmake@, @coffee@, @coldfusion@, @commonlisp@, @cpp@, @cs@, @css@, @curry@, @d@, @diff@, @djangotemplate@, @dockerfile@, @dot@, @doxygen@, @doxygenlua@, @dtd@, @eiffel@, @email@, @erlang@, @fasm@, @fortran@, @fsharp@, @gcc@, @glsl@, @gnuassembler@, @go@, @haskell@, @haxe@, @html@, @idris@, @ini@, @isocpp@, @java@, @javadoc@, @javascript@, @json@, @jsp@, @julia@, @kotlin@, @latex@, @lex@, @lilypond@, @literatecurry@, @literatehaskell@, @llvm@, @lua@, @m4@, @makefile@, @mandoc@, @markdown@, @mathematica@, @matlab@, @maxima@, @mediawiki@, @metafont@, @mips@, @modelines@, @modula2@, @modula3@, @monobasic@, @nasm@, @noweb@, @objectivec@, @objectivecpp@, @ocaml@, @octave@, @opencl@, @pascal@, @perl@, @php@, @pike@, @postscript@, @prolog@, @pure@, @python@, @r@, @relaxng@, @relaxngcompact@, @rest@, @rhtml@, @roff@, @ruby@, @rust@, @scala@, @scheme@, @sci@, @sed@, @sgml@, @sql@, @sqlmysql@, @sqlpostgresql@, @tcl@, @tcsh@, @texinfo@, @verilog@, @vhdl@, @xml@, @xorg@, @xslt@, @xul@, @yacc@, @yaml@, @zsh@. highlightAs :: String         -- ^ Language syntax (e.g. "haskell") or extension (e.g. "hs").             -> String         -- ^ Source code to highlight             -> [SourceLine]   -- ^ List of highlighted source lines@@ -164,9 +180,13 @@   let lang'  = map toLower lang       lang'' = if lang' `elem` map (map toLower) languages                   then lang'-                  else case languagesByExtension lang' of-                            [l]  -> map toLower l  -- go by extension if unambiguous-                            _    -> lang'+                  else case languageByFullName lang' of+                            Just l -> l+                            Nothing ->+                              case languagesByExtension lang' of+                                    -- go by extension if unambiguous+                                    [l]  -> map toLower l+                                    _    -> lang'   in  case lang'' of         "abc" -> Abc.highlight         "actionscript" -> Actionscript.highlight@@ -228,6 +248,7 @@         "lilypond" -> Lilypond.highlight         "literatecurry" -> LiterateCurry.highlight         "literatehaskell" -> LiterateHaskell.highlight+        "llvm" -> Llvm.highlight         "lua" -> Lua.highlight         "m4" -> M4.highlight         "makefile" -> Makefile.highlight@@ -286,4 +307,6 @@         "yacc" -> Yacc.highlight         "yaml" -> Yaml.highlight         "zsh" -> Zsh.highlight+        -- special cases:+        "csharp" -> highlightAs "cs"         _ -> map (\l -> [(NormalTok, l)]) . lines
Text/Highlighting/Kate/Syntax.hs.in view
@@ -10,7 +10,10 @@ Token lexer for various languages. -} -module Text.Highlighting.Kate.Syntax ( highlightAs, languages, languagesByExtension,+module Text.Highlighting.Kate.Syntax ( highlightAs,+                                       languages,+                                       languageByFullName,+                                       languagesByExtension,                                        languagesByFilename ) where import Data.Char (toLower) import Text.Highlighting.Kate.Types@@ -25,6 +28,18 @@ languageExtensions :: [(String, String)] languageExtensions = @languageExtensions@ +-- | List of full names of languages.+languageFullNames :: [(String, String)]+languageFullNames = @languageFullNames@++languageShortNames :: [(String, String)]+languageShortNames =+  [(map toLower y, map toLower x) | (x, y) <- languageFullNames]++-- | Lookup canonical language name by full syntaxName (e.g. "C#" for "Cs").+languageByFullName :: String -> Maybe String+languageByFullName s = lookup s languageShortNames+ -- | Returns a list of languages appropriate for the given file extension. languagesByExtension :: String -> [String] languagesByExtension ('.':ext) = languagesByFilename ("*." ++ ext)@@ -47,9 +62,15 @@   let lang'  = map toLower lang       lang'' = if lang' `elem` map (map toLower) languages                   then lang'-                  else case languagesByExtension lang' of-                            [l]  -> map toLower l  -- go by extension if unambiguous-                            _    -> lang'+                  else case languageByFullName lang' of+                            Just l -> l+                            Nothing ->+                              case languagesByExtension lang' of+                                    -- go by extension if unambiguous+                                    [l]  -> map toLower l+                                    _    -> lang'   in  case lang'' of         @cases@+        -- special cases:+        "csharp" -> highlightAs "cs"         _ -> map (\l -> [(NormalTok, l)]) . lines
Text/Highlighting/Kate/Syntax/Isocpp.hs view
@@ -102,7 +102,7 @@ regex_operator'5cs'2a'22'22_'5b'5f0'2d9A'2dZa'2dz'5d'2a'5cb = compileRegex True "operator\\s*\"\" [_0-9A-Za-z]*\\b" regex_'5b'5c'2b'5c'2d'5d'3f0x'5b0'2d9A'2dFa'2df'5d'28'27'3f'5b0'2d9A'2dFa'2df'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb = compileRegex True "[\\+\\-]?0x[0-9A-Fa-f]('?[0-9A-Fa-f]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\\b" regex_0'5bBb'5d'5b01'5d'28'27'3f'5b01'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb = compileRegex True "0[Bb][01]('?[01]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\\b"-regex_'5b'5c'2b'5c'2d'5d'3f'28'5b0'2d9'5d'2b'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'7c'28'5b0'2d9'5d'2b'5c'2e'7c'5c'2e'5b0'2d9'5d'2b'7c'5b0'2d9'5d'2b'5c'2e'5b0'2d9'5d'2b'29'28'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'29'3f'29'5bFfLl'5d'3f = compileRegex True "[\\+\\-]?([0-9]+[Ee][\\+\\-]?[0-9]+|([0-9]+\\.|\\.[0-9]+|[0-9]+\\.[0-9]+)([Ee][\\+\\-]?[0-9]+)?)[FfLl]?"+regex_'5b'5c'2b'5c'2d'5d'3f'28'5b0'2d9'5d'2b'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'7c'28'5b0'2d9'5d'2a'5c'2e'5b0'2d9'5d'2b'7c'5b0'2d9'5d'2b'5c'2e'5b0'2d9'5d'2a'29'28'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'29'3f'29'5bFfLl'5d'3f = compileRegex True "[\\+\\-]?([0-9]+[Ee][\\+\\-]?[0-9]+|([0-9]*\\.[0-9]+|[0-9]+\\.[0-9]*)([Ee][\\+\\-]?[0-9]+)?)[FfLl]?" regex_'5b'5c'2b'5c'2d'5d'3f0'27'3f'5b0'2d7'5d'28'27'3f'5b0'2d7'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb = compileRegex True "[\\+\\-]?0'?[0-7]('?[0-7]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\\b" regex_'5b'5c'2b'5c'2d'5d'3f'280'7c'5b1'2d9'5d'28'27'3f'5b0'2d9'5d'2b'29'2a'29'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb = compileRegex True "[\\+\\-]?(0|[1-9]('?[0-9]+)*)([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\\b" regex_'5b'5c'2b'5c'2d'5d'3f'280x'3f'7c'5b1'2d9'5d'5b0'2d9'5d'2a'29'5b0'2d9A'2dZa'2dz'5d'5b'5f0'2d9A'2dZa'2dz'5d'2a'5cb = compileRegex True "[\\+\\-]?(0x?|[1-9][0-9]*)[0-9A-Za-z][_0-9A-Za-z]*\\b"@@ -175,7 +175,7 @@    <|>    ((pRegExpr regex_0'5bBb'5d'5b01'5d'28'27'3f'5b01'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb >>= withAttribute BaseNTok))    <|>-   ((pRegExpr regex_'5b'5c'2b'5c'2d'5d'3f'28'5b0'2d9'5d'2b'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'7c'28'5b0'2d9'5d'2b'5c'2e'7c'5c'2e'5b0'2d9'5d'2b'7c'5b0'2d9'5d'2b'5c'2e'5b0'2d9'5d'2b'29'28'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'29'3f'29'5bFfLl'5d'3f >>= withAttribute FloatTok))+   ((pRegExpr regex_'5b'5c'2b'5c'2d'5d'3f'28'5b0'2d9'5d'2b'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'7c'28'5b0'2d9'5d'2a'5c'2e'5b0'2d9'5d'2b'7c'5b0'2d9'5d'2b'5c'2e'5b0'2d9'5d'2a'29'28'5bEe'5d'5b'5c'2b'5c'2d'5d'3f'5b0'2d9'5d'2b'29'3f'29'5bFfLl'5d'3f >>= withAttribute FloatTok))    <|>    ((pRegExpr regex_'5b'5c'2b'5c'2d'5d'3f0'27'3f'5b0'2d7'5d'28'27'3f'5b0'2d7'5d'2b'29'2a'28'5bUu'5d'5bLl'5d'7b0'2c2'7d'7c'5bLl'5d'7b0'2c2'7d'5bUu'5d'3f'7c'5f'5b'5f0'2d9A'2dZa'2dz'5d'2a'29'3f'5cb >>= withAttribute BaseNTok))    <|>
+ Text/Highlighting/Kate/Syntax/Llvm.hs view
@@ -0,0 +1,149 @@+{- This module was generated from data in the Kate syntax+   highlighting file llvm.xml, version 1.00, by LLVM Team -}++module Text.Highlighting.Kate.Syntax.Llvm+          (highlight, parseExpression, syntaxName, syntaxExtensions)+where+import Text.Highlighting.Kate.Types+import Text.Highlighting.Kate.Common+import qualified Text.Highlighting.Kate.Syntax.Alert+import Text.ParserCombinators.Parsec hiding (State)+import Control.Monad.State+import Data.Char (isSpace)+import qualified Data.Set as Set++-- | Full name of language.+syntaxName :: String+syntaxName = "LLVM"++-- | Filename extensions for this language.+syntaxExtensions :: String+syntaxExtensions = "*.ll"++-- | Highlight source code using this syntax definition.+highlight :: String -> [SourceLine]+highlight input = evalState (mapM parseSourceLine $ lines input) startingState++parseSourceLine :: String -> State SyntaxState SourceLine+parseSourceLine = mkParseSourceLine (parseExpression Nothing)++-- | Parse an expression using appropriate local context.+parseExpression :: Maybe (String,String)+                -> KateParser Token+parseExpression mbcontext = do+  (lang,cont) <- maybe currentContext return mbcontext+  result <- parseRules (lang,cont)+  optional $ do eof+                updateState $ \st -> st{ synStPrevChar = '\n' }+                pEndLine+  return result++startingState = SyntaxState {synStContexts = [("LLVM","llvm")], synStLineNumber = 0, synStPrevChar = '\n', synStPrevNonspace = False, synStContinuation = False, synStCaseSensitive = True, synStKeywordCaseSensitive = True, synStCaptures = []}++pEndLine = do+  updateState $ \st -> st{ synStPrevNonspace = False }+  context <- currentContext+  contexts <- synStContexts `fmap` getState+  st <- getState+  if length contexts >= 2+    then case context of+      _ | synStContinuation st -> updateState $ \st -> st{ synStContinuation = False }+      ("LLVM","llvm") -> return ()+      ("LLVM","symbol") -> (popContext) >> pEndLine+      ("LLVM","symbol-string") -> return ()+      ("LLVM","string") -> return ()+      ("LLVM","comment") -> (popContext) >> pEndLine+      _ -> return ()+    else return ()++withAttribute attr txt = do+  when (null txt) $ fail "Parser matched no text"+  updateState $ \st -> st { synStPrevChar = last txt+                          , synStPrevNonspace = synStPrevNonspace st || not (all isSpace txt) }+  return (attr, txt)++list_keywords = Set.fromList $ words $ "begin end true false declare define global constant gc module asm target datalayout null undef blockaddress sideeffect alignstack to unwind nuw nsw inbounds tail triple type align alias"+list_linkage'2dtypes = Set.fromList $ words $ "private internal available_externally linkonce weak common appending extern_weak linkonce_odr weak_odr dllimport dllexport"+list_calling'2dconventions = Set.fromList $ words $ "ccc fastcc coldcc cc"+list_visibility'2dstyles = Set.fromList $ words $ "default hidden protected"+list_parameter'2dattributes = Set.fromList $ words $ "zeroext signext inreg byval sret noalias nocapture nest"+list_function'2dattributes = Set.fromList $ words $ "alignstack alwaysinline inlinehint naked noimplicitfloat noinline noredzone noreturn nounwind optnone optsize readnone readonly ssp sspreq sspstrong"+list_types = Set.fromList $ words $ "float double fp128 x86_fp80 ppc_fp128 x86mmx void label metadata opaque"+list_intrinsic'2dglobal'2dvariables = Set.fromList $ words $ "llvm.used llvm.compiler.used llvm.global_ctors llvm.global_dtors"+list_instructions = Set.fromList $ words $ "ret br switch indirectbr invoke unwind unreachable add fadd sub fsub mul fmul udiv sdiv fdiv urem srem frem shl lshr ashr and or xor extractelement insertelement shufflevector extractvalue insertvalue alloca load store getelementptr trunc zext sext fptrunc fpext fptoui fptosi uitofp sitofp ptrtoint inttoptr bitcast addrspacecast icmp fcmp phi select call va_arg"+list_conditions = Set.fromList $ words $ "eq ne ugt uge ult ule sgt sge slt sle oeq ogt oge olt ole one ord ueq une uno"++regex_i'5b0'2d9'5d'2b = compileRegex True "i[0-9]+"+regex_'5b'2da'2dzA'2dZ'24'2e'5f'5d'5b'2da'2dzA'2dZ'24'2e'5f0'2d9'5d'2a'3a = compileRegex True "[-a-zA-Z$._][-a-zA-Z$._0-9]*:"+regex_'28'5b'2da'2dzA'2dZ'24'2e'5f'5d'5b'2da'2dzA'2dZ'24'2e'5f0'2d9'5d'2a'7c'5b0'2d9'5d'2b'29 = compileRegex True "([-a-zA-Z$._][-a-zA-Z$._0-9]*|[0-9]+)"++parseRules ("LLVM","llvm") =+  (((pDetectSpaces >>= withAttribute NormalTok))+   <|>+   ((pAnyChar "@%" >>= withAttribute FunctionTok) >>~ pushContext ("LLVM","symbol"))+   <|>+   ((pDetectChar False '{' >>= withAttribute NormalTok))+   <|>+   ((pDetectChar False '}' >>= withAttribute NormalTok))+   <|>+   ((pDetectChar False ';' >>= withAttribute CommentTok) >>~ pushContext ("LLVM","comment"))+   <|>+   ((pDetectChar False '"' >>= withAttribute StringTok) >>~ pushContext ("LLVM","string"))+   <|>+   ((pRegExpr regex_i'5b0'2d9'5d'2b >>= withAttribute DataTypeTok))+   <|>+   ((pRegExpr regex_'5b'2da'2dzA'2dZ'24'2e'5f'5d'5b'2da'2dzA'2dZ'24'2e'5f0'2d9'5d'2a'3a >>= withAttribute FunctionTok))+   <|>+   ((pInt >>= withAttribute DecValTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_keywords >>= withAttribute KeywordTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_linkage'2dtypes >>= withAttribute KeywordTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_calling'2dconventions >>= withAttribute KeywordTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_visibility'2dstyles >>= withAttribute KeywordTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_parameter'2dattributes >>= withAttribute KeywordTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_function'2dattributes >>= withAttribute KeywordTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_types >>= withAttribute DataTypeTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_intrinsic'2dglobal'2dvariables >>= withAttribute KeywordTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_instructions >>= withAttribute KeywordTok))+   <|>+   ((pKeyword " \n\t():!+,-<=>%&*/;?[]^{|}~\\" list_conditions >>= withAttribute KeywordTok))+   <|>+   (currentContext >>= \x -> guard (x == ("LLVM","llvm")) >> pDefault >>= withAttribute NormalTok))++parseRules ("LLVM","symbol") =+  (((pDetectChar False '"' >>= withAttribute FunctionTok) >>~ pushContext ("LLVM","symbol-string"))+   <|>+   ((pRegExpr regex_'28'5b'2da'2dzA'2dZ'24'2e'5f'5d'5b'2da'2dzA'2dZ'24'2e'5f0'2d9'5d'2a'7c'5b0'2d9'5d'2b'29 >>= withAttribute FunctionTok) >>~ (popContext))+   <|>+   (currentContext >>= \x -> guard (x == ("LLVM","symbol")) >> pDefault >>= withAttribute FunctionTok))++parseRules ("LLVM","symbol-string") =+  (((pDetectChar False '"' >>= withAttribute FunctionTok) >>~ (popContext >> popContext))+   <|>+   (currentContext >>= \x -> guard (x == ("LLVM","symbol-string")) >> pDefault >>= withAttribute FunctionTok))++parseRules ("LLVM","string") =+  (((pDetectChar False '"' >>= withAttribute StringTok) >>~ (popContext))+   <|>+   (currentContext >>= \x -> guard (x == ("LLVM","string")) >> pDefault >>= withAttribute StringTok))++parseRules ("LLVM","comment") =+  (((pDetectSpaces >>= withAttribute CommentTok))+   <|>+   ((Text.Highlighting.Kate.Syntax.Alert.parseExpression (Just ("Alerts","")) >>= ((withAttribute CommentTok) . snd)))+   <|>+   ((pDetectIdentifier >>= withAttribute CommentTok))+   <|>+   (currentContext >>= \x -> guard (x == ("LLVM","comment")) >> pDefault >>= withAttribute CommentTok))++parseRules ("Alerts", _) = Text.Highlighting.Kate.Syntax.Alert.parseExpression Nothing++parseRules x = parseRules ("LLVM","llvm") <|> fail ("Unknown context" ++ show x)
changelog view
@@ -1,3 +1,20 @@+highlighting-kate 0.6.1 (12 Dec 2015)++  * Fixed build on GHC 7.0 (Adam Bergmark).+  * Don't use auto-all in ghc-prof-options.+  * Removed splitBase flag and ability to compile on base < 4.4.+  * Add agda tests with unicode input (Matthias C. M. Troffaes).+  * Fix 'Text.Regex.PCRE.Light: Error in regex: invalid UTF-8 string'+    error message (Matthias C. M. Traffaes).+  * Reapplied isocpp.xml.patch (#57).+  * Added `languageByFullName` (API change).  Changed behavior of+    `highlightAs` so that languages can match on "full official name"+    as well as the canonical name (derived from the xml filename.+    Previously, only `cs` worked for C#.  Now you may use `C#` as+    well.+  * Allow `csharp` as a special-case alias for `cs` (jgm/pandoc#2117).+  * Added support for llvm (#79).+ highlighting-kate 0.6 (26 May 2015)    * Support new KF5 token attributes (#69).
highlighting-kate.cabal view
@@ -1,5 +1,5 @@ Name:                highlighting-kate-Version:             0.6+Version:             0.6.1 Cabal-Version:       >= 1.10 Build-Type:          Simple Category:            Text@@ -31,6 +31,8 @@                      xml/*.xml.patch                      tests/abc.ada                      tests/abc.ada.html+                     tests/abc.agda+                     tests/abc.agda.html                      tests/abc.c                      tests/abc.c.html                      tests/abc.clojure@@ -83,9 +85,6 @@                      tests/archive.rhtml.html                      tests/life.lua                      tests/life.lua.html-Flag splitBase-  Description:       Choose the new, smaller, split-up base package.-  Default:           True Flag executable   Description:       Build the highlighting-kate executable.   Default:           False@@ -98,16 +97,14 @@   location:      git://github.com/jgm/highlighting-kate.git  Library-  if flag(splitBase)-    Build-Depends:   base >= 3 && < 5, containers-  else-    Build-Depends:   base < 3+  Build-Depends:     base >= 4.4 && < 5, containers,+                     parsec, mtl, blaze-html >= 0.4.2 && < 0.9,+                     utf8-string   if flag(pcre-light)-    Build-depends:   pcre-light >= 0.4 && < 0.5+    Build-depends:   pcre-light >= 0.4 && < 0.5, bytestring     cpp-options:     -D_PCRE_LIGHT   else     Build-depends:   regex-pcre-builtin >= 0.94.4.8.8.35-  Build-Depends:     parsec, mtl, blaze-html >= 0.4.2 && < 0.9, utf8-string   Exposed-Modules:   Text.Highlighting.Kate                      Text.Highlighting.Kate.Syntax                      Text.Highlighting.Kate.Types@@ -176,6 +173,7 @@                      Text.Highlighting.Kate.Syntax.Lilypond                      Text.Highlighting.Kate.Syntax.LiterateCurry                      Text.Highlighting.Kate.Syntax.LiterateHaskell+                     Text.Highlighting.Kate.Syntax.Llvm                      Text.Highlighting.Kate.Syntax.Lua                      Text.Highlighting.Kate.Syntax.M4                      Text.Highlighting.Kate.Syntax.Makefile
+ tests/abc.agda view
@@ -0,0 +1,40 @@+module Reals where++  -- (a set with properties of) the reals+  data ℝ : Set where+    r0 : ℝ+    r1 : ℝ+    _+_ : ℝ → ℝ → ℝ++  -- equality+  data _==_ : ℝ → ℝ → Set where+    AXrefl== : ∀ {r} → r == r+    AXsymm== : ∀ {r s} → r == s → s == r+    AXtrans== : ∀ {r s t} → r == s → s == t → r == t+    AX+0 : ∀ {r} → (r + r0) == r+    AXsymm+ : ∀ {r s} → (r + s) == (s + r)+    AX+== : ∀ {r s t} → r == s → (r + t) == (s + t)++  THM0+ : {r : ℝ} → r == (r0 + r)+  THM0+ = AXsymm== (AXtrans== AXsymm+ AX+0)+  -- AXsymm+ AX+0   r0 + r == r + r0 and r + r0 == r+  -- AXtrans==      so r0 + r == r+  -- AXsymm==       so r == r0 + r++  THM0+alt : {r : ℝ} → r == (r0 + r)+  THM0+alt {r} = AXsymm== {r0 + r} {r} ((AXtrans== {r0 + r} {r + r0} {r}) (AXsymm+ {r0} {r}) (AX+0 {r}))++  -- strict partial ordering+  data _<_ : ℝ → ℝ → Set where+    AXtrans<<< : ∀ {r s t} → r < s → s < t → r < t+    AX<=< : ∀ {r s t} → r < s → s == t → r < t+    AX=<< : ∀ {r s t} → r == s → s < t → r < t+    AX0<1 : r0 < r1+    AX+<< : ∀ {r s t} → r < s → (r + t) < (s + t)++  THM<+1 : {r : ℝ} → r < (r + r1)+  THM<+1 = AX<=< (AX=<< THM0+ (AX+<< AX0<1)) AXsymm++  -- AX0<1              0 < 1+  -- AX<+ %             so 0 + r < 1 + r+  -- AX=<< lem0+ %      so r < 1 + r+  -- AX<=< % AXsymm+    so r < r + 1
+ tests/abc.agda.html view
@@ -0,0 +1,75 @@+<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><style type="text/css">div.sourceCode { overflow-x: auto; }+table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode {+  margin: 0; padding: 0; vertical-align: baseline; border: none; }+table.sourceCode { width: 100%; line-height: 100%; }+td.lineNumbers { text-align: right; padding-right: 4px; padding-left: 4px; color: #aaaaaa; border-right: 1px solid #aaaaaa; }+td.sourceCode { padding-left: 5px; }+code > span.kw { color: #007020; font-weight: bold; } /* Keyword */+code > span.dt { color: #902000; } /* DataType */+code > span.dv { color: #40a070; } /* DecVal */+code > span.bn { color: #40a070; } /* BaseN */+code > span.fl { color: #40a070; } /* Float */+code > span.ch { color: #4070a0; } /* Char */+code > span.st { color: #4070a0; } /* String */+code > span.co { color: #60a0b0; font-style: italic; } /* Comment */+code > span.ot { color: #007020; } /* Other */+code > span.al { color: #ff0000; font-weight: bold; } /* Alert */+code > span.fu { color: #06287e; } /* Function */+code > span.er { color: #ff0000; font-weight: bold; } /* Error */+code > span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */+code > span.cn { color: #880000; } /* Constant */+code > span.sc { color: #4070a0; } /* SpecialChar */+code > span.vs { color: #4070a0; } /* VerbatimString */+code > span.ss { color: #bb6688; } /* SpecialString */+code > span.im { } /* Import */+code > span.va { color: #19177c; } /* Variable */+code > span.cf { color: #007020; font-weight: bold; } /* ControlFlow */+code > span.op { color: #666666; } /* Operator */+code > span.bu { } /* BuiltIn */+code > span.ex { } /* Extension */+code > span.pp { color: #bc7a00; } /* Preprocessor */+code > span.at { color: #7d9029; } /* Attribute */+code > span.do { color: #ba2121; font-style: italic; } /* Documentation */+code > span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */+code > span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */+code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */+</style></head><body><div class="sourceCode"><pre class="sourceCode"><code class="sourceCode"><span class="kw" title="KeywordTok">module</span> Reals <span class="kw" title="KeywordTok">where</span>++  <span class="co" title="CommentTok">-- (a set with properties of) the reals</span>+  <span class="kw" title="KeywordTok">data</span> ℝ <span class="ot" title="OtherTok">:</span> <span class="dt" title="DataTypeTok">Set</span> <span class="kw" title="KeywordTok">where</span>+    r0 <span class="ot" title="OtherTok">:</span> ℝ+    r1 <span class="ot" title="OtherTok">:</span> ℝ+    <span class="ot" title="OtherTok">_</span>+<span class="ot" title="OtherTok">_</span> <span class="ot" title="OtherTok">:</span> ℝ <span class="ot" title="OtherTok">→</span> ℝ <span class="ot" title="OtherTok">→</span> ℝ++  <span class="co" title="CommentTok">-- equality</span>+  <span class="kw" title="KeywordTok">data</span> <span class="ot" title="OtherTok">_</span>==<span class="ot" title="OtherTok">_</span> <span class="ot" title="OtherTok">:</span> ℝ <span class="ot" title="OtherTok">→</span> ℝ <span class="ot" title="OtherTok">→</span> <span class="dt" title="DataTypeTok">Set</span> <span class="kw" title="KeywordTok">where</span>+    AXrefl== <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r == r+    AXsymm== <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r s<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r == s <span class="ot" title="OtherTok">→</span> s == r+    AXtrans== <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r s t<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r == s <span class="ot" title="OtherTok">→</span> s == t <span class="ot" title="OtherTok">→</span> r == t+    AX+0 <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> <span class="ot" title="OtherTok">(</span>r + r0<span class="ot" title="OtherTok">)</span> == r+    AXsymm+ <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r s<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> <span class="ot" title="OtherTok">(</span>r + s<span class="ot" title="OtherTok">)</span> == <span class="ot" title="OtherTok">(</span>s + r<span class="ot" title="OtherTok">)</span>+    AX+== <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r s t<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r == s <span class="ot" title="OtherTok">→</span> <span class="ot" title="OtherTok">(</span>r + t<span class="ot" title="OtherTok">)</span> == <span class="ot" title="OtherTok">(</span>s + t<span class="ot" title="OtherTok">)</span>++  THM0+ <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">{</span>r <span class="ot" title="OtherTok">:</span> ℝ<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r == <span class="ot" title="OtherTok">(</span>r0 + r<span class="ot" title="OtherTok">)</span>+  THM0+ <span class="ot" title="OtherTok">=</span> AXsymm== <span class="ot" title="OtherTok">(</span>AXtrans== AXsymm+ AX+0<span class="ot" title="OtherTok">)</span>+  <span class="co" title="CommentTok">-- AXsymm+ AX+0   r0 + r == r + r0 and r + r0 == r</span>+  <span class="co" title="CommentTok">-- AXtrans==      so r0 + r == r</span>+  <span class="co" title="CommentTok">-- AXsymm==       so r == r0 + r</span>++  THM0+alt <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">{</span>r <span class="ot" title="OtherTok">:</span> ℝ<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r == <span class="ot" title="OtherTok">(</span>r0 + r<span class="ot" title="OtherTok">)</span>+  THM0+alt <span class="ot" title="OtherTok">{</span>r<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">=</span> AXsymm== <span class="ot" title="OtherTok">{</span>r0 + r<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">{</span>r<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">((</span>AXtrans== <span class="ot" title="OtherTok">{</span>r0 + r<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">{</span>r + r0<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">{</span>r<span class="ot" title="OtherTok">})</span> <span class="ot" title="OtherTok">(</span>AXsymm+ <span class="ot" title="OtherTok">{</span>r0<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">{</span>r<span class="ot" title="OtherTok">})</span> <span class="ot" title="OtherTok">(</span>AX+0 <span class="ot" title="OtherTok">{</span>r<span class="ot" title="OtherTok">}))</span>++  <span class="co" title="CommentTok">-- strict partial ordering</span>+  <span class="kw" title="KeywordTok">data</span> <span class="ot" title="OtherTok">_</span>&lt;<span class="ot" title="OtherTok">_</span> <span class="ot" title="OtherTok">:</span> ℝ <span class="ot" title="OtherTok">→</span> ℝ <span class="ot" title="OtherTok">→</span> <span class="dt" title="DataTypeTok">Set</span> <span class="kw" title="KeywordTok">where</span>+    AXtrans&lt;&lt;&lt; <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r s t<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r &lt; s <span class="ot" title="OtherTok">→</span> s &lt; t <span class="ot" title="OtherTok">→</span> r &lt; t+    AX&lt;=&lt; <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r s t<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r &lt; s <span class="ot" title="OtherTok">→</span> s == t <span class="ot" title="OtherTok">→</span> r &lt; t+    AX=&lt;&lt; <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r s t<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r == s <span class="ot" title="OtherTok">→</span> s &lt; t <span class="ot" title="OtherTok">→</span> r &lt; t+    AX0&lt;1 <span class="ot" title="OtherTok">:</span> r0 &lt; r1+    AX+&lt;&lt; <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">∀</span> <span class="ot" title="OtherTok">{</span>r s t<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r &lt; s <span class="ot" title="OtherTok">→</span> <span class="ot" title="OtherTok">(</span>r + t<span class="ot" title="OtherTok">)</span> &lt; <span class="ot" title="OtherTok">(</span>s + t<span class="ot" title="OtherTok">)</span>++  THM&lt;+1 <span class="ot" title="OtherTok">:</span> <span class="ot" title="OtherTok">{</span>r <span class="ot" title="OtherTok">:</span> ℝ<span class="ot" title="OtherTok">}</span> <span class="ot" title="OtherTok">→</span> r &lt; <span class="ot" title="OtherTok">(</span>r + r1<span class="ot" title="OtherTok">)</span>+  THM&lt;+1 <span class="ot" title="OtherTok">=</span> AX&lt;=&lt; <span class="ot" title="OtherTok">(</span>AX=&lt;&lt; THM0+ <span class="ot" title="OtherTok">(</span>AX+&lt;&lt; AX0&lt;1<span class="ot" title="OtherTok">))</span> AXsymm++  <span class="co" title="CommentTok">-- AX0&lt;1              0 &lt; 1</span>+  <span class="co" title="CommentTok">-- AX&lt;+ %             so 0 + r &lt; 1 + r</span>+  <span class="co" title="CommentTok">-- AX=&lt;&lt; lem0+ %      so r &lt; 1 + r</span>+  <span class="co" title="CommentTok">-- AX&lt;=&lt; % AXsymm+    so r &lt; r + 1</span></code></pre></div></body>
xml/isocpp.xml view
@@ -191,7 +191,7 @@         <!-- NOTE Order is important! -->         <RegExpr attribute="Hex" context="#stay" String="[\+\-]?0x[0-9A-Fa-f]('?[0-9A-Fa-f]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />         <RegExpr attribute="Binary" context="#stay" String="0[Bb][01]('?[01]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />-        <RegExpr attribute="Float" context="#stay" String="[\+\-]?([0-9]+[Ee][\+\-]?[0-9]+|([0-9]+\.|\.[0-9]+|[0-9]+\.[0-9]+)([Ee][\+\-]?[0-9]+)?)[FfLl]?" />+        <RegExpr attribute="Float" context="#stay" String="[\+\-]?([0-9]+[Ee][\+\-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.[0-9]*)([Ee][\+\-]?[0-9]+)?)[FfLl]?" />         <RegExpr attribute="Octal" context="#stay" String="[\+\-]?0'?[0-7]('?[0-7]+)*([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />         <RegExpr attribute="Decimal" context="#stay" String="[\+\-]?(0|[1-9]('?[0-9]+)*)([Uu][Ll]{0,2}|[Ll]{0,2}[Uu]?|_[_0-9A-Za-z]*)?\b" />         <RegExpr attribute="Error" context="#stay" String="[\+\-]?(0x?|[1-9][0-9]*)[0-9A-Za-z][_0-9A-Za-z]*\b" />
+ xml/llvm.xml view
@@ -0,0 +1,255 @@+<?xml version="1.0" encoding="UTF-8"?>+<!DOCTYPE language SYSTEM "language.dtd">+<language name="LLVM" section="Sources"+          version="1.00" kateversion="3.4.4"+          extensions="*.ll"+          mimetype=""+          author="LLVM Team"+          license="LLVM Release License">+  <highlighting>+    <list name="keywords">+      <item> begin </item>+      <item> end </item>+      <item> true </item>+      <item> false </item>+      <item> declare </item>+      <item> define </item>+      <item> global </item>+      <item> constant </item>+      <item> gc </item>+      <item> module </item>+      <item> asm </item>+      <item> target </item>+      <item> datalayout </item>+      <item> null </item>+      <item> undef </item>+      <item> blockaddress </item>+      <item> sideeffect </item>+      <item> alignstack </item>+      <item> to </item>+      <item> unwind </item>+      <item> nuw </item>+      <item> nsw </item>+      <item> inbounds </item>+      <item> tail </item>+      <item> triple </item>+      <item> type </item>+      <item> align </item>+      <item> alias </item>+    </list>+    <list name="linkage-types">+      <item> private </item>+      <item> internal </item>+      <item> available_externally </item>+      <item> linkonce </item>+      <item> weak </item>+      <item> common </item>+      <item> appending </item>+      <item> extern_weak </item>+      <item> linkonce_odr </item>+      <item> weak_odr </item>+      <item> dllimport </item>+      <item> dllexport </item>+    </list>+    <list name="calling-conventions">+      <item> ccc </item>+      <item> fastcc </item>+      <item> coldcc </item>+      <item> cc </item>+    </list>+    <list name="visibility-styles">+      <item> default </item>+      <item> hidden </item>+      <item> protected </item>+    </list>+    <list name="parameter-attributes">+      <item> zeroext </item>+      <item> signext </item>+      <item> inreg </item>+      <item> byval </item>+      <item> sret </item>+      <item> noalias </item>+      <item> nocapture </item>+      <item> nest </item>+    </list>+    <list name="function-attributes">+      <item> alignstack </item>+      <item> alwaysinline </item>+      <item> inlinehint </item>+      <item> naked </item>+      <item> noimplicitfloat </item>+      <item> noinline </item>+      <item> noredzone </item>+      <item> noreturn </item>+      <item> nounwind </item>+      <item> optnone </item>+      <item> optsize </item>+      <item> readnone </item>+      <item> readonly </item>+      <item> ssp </item>+      <item> sspreq </item>+      <item> sspstrong </item>+    </list>+    <list name="types">+      <item> float </item>+      <item> double </item>+      <item> fp128 </item>+      <item> x86_fp80 </item>+      <item> ppc_fp128 </item>+      <item> x86mmx </item>+      <item> void </item>+      <item> label </item>+      <item> metadata </item>+      <item> opaque </item>+    </list>+    <list name="intrinsic-global-variables">+      <item> llvm.used </item>+      <item> llvm.compiler.used </item>+      <item> llvm.global_ctors </item>+      <item> llvm.global_dtors </item>+    </list>+    <list name="instructions">+      <item> ret </item>+      <item> br </item>+      <item> switch </item>+      <item> indirectbr </item>+      <item> invoke </item>+      <item> unwind </item>+      <item> unreachable </item>+      <item> add </item>+      <item> fadd </item>+      <item> sub </item>+      <item> fsub </item>+      <item> mul </item>+      <item> fmul </item>+      <item> udiv </item>+      <item> sdiv </item>+      <item> fdiv </item>+      <item> urem </item>+      <item> srem </item>+      <item> frem </item>+      <item> shl </item>+      <item> lshr </item>+      <item> ashr </item>+      <item> and </item>+      <item> or </item>+      <item> xor </item>+      <item> extractelement </item>+      <item> insertelement </item>+      <item> shufflevector </item>+      <item> extractvalue </item>+      <item> insertvalue </item>+      <item> alloca </item>+      <item> load </item>+      <item> store </item>+      <item> getelementptr </item>+      <item> trunc </item>+      <item> zext </item>+      <item> sext </item>+      <item> fptrunc </item>+      <item> fpext </item>+      <item> fptoui </item>+      <item> fptosi </item>+      <item> uitofp </item>+      <item> sitofp </item>+      <item> ptrtoint </item>+      <item> inttoptr </item>+      <item> bitcast </item>+      <item> addrspacecast </item>+      <item> icmp </item>+      <item> fcmp </item>+      <item> phi </item>+      <item> select </item>+      <item> call </item>+      <item> va_arg </item>+    </list>+    <list name="conditions">+      <item> eq </item>+      <item> ne </item>+      <item> ugt </item>+      <item> uge </item>+      <item> ult </item>+      <item> ule </item>+      <item> sgt </item>+      <item> sge </item>+      <item> slt </item>+      <item> sle </item>+      <item> oeq </item>+      <item> ogt </item>+      <item> oge </item>+      <item> olt </item>+      <item> ole </item>+      <item> one </item>+      <item> ord </item>+      <item> ueq </item>+      <item> une </item>+      <item> uno </item>+    </list>+    <contexts>+      <context name="llvm" attribute="Normal Text" lineEndContext="#stay">+        <DetectSpaces />+        <AnyChar String="@%" attribute="Symbol" context="symbol" />++        <DetectChar char="{" beginRegion="Brace1" />+        <DetectChar char="}" endRegion="Brace1" />+        <DetectChar char=";" attribute="Comment" context="comment" />+        <DetectChar attribute="String" context="string" char="&quot;" />+        <RegExpr String="i[0-9]+" attribute="Data Type" context="#stay" />+        <RegExpr attribute="Symbol" String="[-a-zA-Z$._][-a-zA-Z$._0-9]*:" context="#stay" />+        <Int attribute="Int" context="#stay" />++        <keyword attribute="Keyword"   String="keywords" />+        <keyword attribute="Keyword"   String="linkage-types" />+        <keyword attribute="Keyword"   String="calling-conventions" />+        <keyword attribute="Keyword"   String="visibility-styles" />+        <keyword attribute="Keyword"   String="parameter-attributes" />+        <keyword attribute="Keyword"   String="function-attributes" />+        <keyword attribute="Data Type" String="types" />+        <keyword attribute="Keyword"   String="intrinsic-global-variables" />+        <keyword attribute="Keyword"   String="instructions" />+        <keyword attribute="Keyword"   String="conditions" />+      </context>++      <context name="symbol" attribute="Symbol" lineEndContext="#pop">+        <DetectChar attribute="Symbol" context="symbol-string" char="&quot;" />+        <RegExpr attribute="Symbol" String="([-a-zA-Z$._][-a-zA-Z$._0-9]*|[0-9]+)" context="#pop" />+      </context>++      <context name="symbol-string" attribute="Symbol" lineEndContext="#stay">+        <DetectChar attribute="Symbol" context="#pop#pop" char="&quot;" />+      </context>++      <context name="string" attribute="String" lineEndContext="#stay">+        <DetectChar attribute="String" context="#pop" char="&quot;" />+      </context>++      <context name="comment" attribute="Comment" lineEndContext="#pop">+        <DetectSpaces />+        <!-- TODO: Add FileCheck syntax highlighting -->+        <IncludeRules context="##Alerts" />+        <DetectIdentifier />+      </context>+    </contexts>+    <itemDatas>+      <itemData name="Normal Text" defStyleNum="dsNormal" />+      <itemData name="Keyword" defStyleNum="dsKeyword" />+      <itemData name="Data Type" defStyleNum="dsDataType" />+      <itemData name="Int" defStyleNum="dsDecVal" />+      <itemData name="Hex" defStyleNum="dsBaseN" />+      <itemData name="Float" defStyleNum="dsFloat" />+      <itemData name="String" defStyleNum="dsString" />+      <itemData name="Comment" defStyleNum="dsComment" />+      <itemData name="Function" defStyleNum="dsFunction" />+      <itemData name="Symbol" defStyleNum="dsFunction" />+    </itemDatas>+  </highlighting>+  <general>+    <comments>+      <comment name="singleLine" start=";" />+    </comments>+    <keywords casesensitive="1" weakDeliminator="." />+  </general>+</language>+<!--+// kate: space-indent on; indent-width 2; replace-tabs on;+-->