src/Tools/Haskell/Markup.hs
changeset 69315 fc1a8df3062d
parent 69291 36d711008292
child 69320 fc221fa79741
equal deleted inserted replaced
69314:b367c22c3dd8 69315:fc1a8df3062d
    11 
    11 
    12 module Isabelle.Markup (
    12 module Isabelle.Markup (
    13   T, empty, is_empty, properties,
    13   T, empty, is_empty, properties,
    14 
    14 
    15   nameN, name, xnameN, xname, kindN,
    15   nameN, name, xnameN, xname, kindN,
       
    16 
       
    17   bindingN, binding, entityN, entity, defN, refN,
    16 
    18 
    17   completionN, completion, no_completionN, no_completion,
    19   completionN, completion, no_completionN, no_completion,
    18 
    20 
    19   lineN, end_lineN, offsetN, end_offsetN, fileN, idN, positionN, position,
    21   lineN, end_lineN, offsetN, end_offsetN, fileN, idN, positionN, position,
    20 
    22 
    90 xname :: String -> T -> T
    92 xname :: String -> T -> T
    91 xname a = properties [(xnameN, a)]
    93 xname a = properties [(xnameN, a)]
    92 
    94 
    93 kindN :: String
    95 kindN :: String
    94 kindN = "kind"
    96 kindN = "kind"
       
    97 
       
    98 
       
    99 {- formal entities -}
       
   100 
       
   101 bindingN :: String; binding :: T
       
   102 (bindingN, binding) = markup_elem "binding"
       
   103 
       
   104 entityN :: String; entity :: String -> String -> T
       
   105 entityN = "entity"
       
   106 entity kind name =
       
   107   (entityN,
       
   108     (if null name then [] else [(nameN, name)]) ++ (if null kind then [] else [(kindN, kind)]))
       
   109 
       
   110 defN :: String
       
   111 defN = "def"
       
   112 
       
   113 refN :: String
       
   114 refN = "ref"
    95 
   115 
    96 
   116 
    97 {- completion -}
   117 {- completion -}
    98 
   118 
    99 completionN :: String; completion :: T
   119 completionN :: String; completion :: T