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 |