247 module Isabelle.Markup ( |
247 module Isabelle.Markup ( |
248 T, empty, is_empty, properties, |
248 T, empty, is_empty, properties, |
249 |
249 |
250 nameN, name, xnameN, xname, kindN, |
250 nameN, name, xnameN, xname, kindN, |
251 |
251 |
|
252 bindingN, binding, entityN, entity, defN, refN, |
|
253 |
252 completionN, completion, no_completionN, no_completion, |
254 completionN, completion, no_completionN, no_completion, |
253 |
255 |
254 lineN, end_lineN, offsetN, end_offsetN, fileN, idN, positionN, position, |
256 lineN, end_lineN, offsetN, end_offsetN, fileN, idN, positionN, position, |
255 |
257 |
256 expressionN, expression, |
258 expressionN, expression, |
325 xname :: String -> T -> T |
327 xname :: String -> T -> T |
326 xname a = properties [(xnameN, a)] |
328 xname a = properties [(xnameN, a)] |
327 |
329 |
328 kindN :: String |
330 kindN :: String |
329 kindN = \<open>Markup.kindN\<close> |
331 kindN = \<open>Markup.kindN\<close> |
|
332 |
|
333 |
|
334 {- formal entities -} |
|
335 |
|
336 bindingN :: String; binding :: T |
|
337 (bindingN, binding) = markup_elem \<open>Markup.bindingN\<close> |
|
338 |
|
339 entityN :: String; entity :: String -> String -> T |
|
340 entityN = \<open>Markup.entityN\<close> |
|
341 entity kind name = |
|
342 (entityN, |
|
343 (if null name then [] else [(nameN, name)]) ++ (if null kind then [] else [(kindN, kind)])) |
|
344 |
|
345 defN :: String |
|
346 defN = \<open>Markup.defN\<close> |
|
347 |
|
348 refN :: String |
|
349 refN = \<open>Markup.refN\<close> |
330 |
350 |
331 |
351 |
332 {- completion -} |
352 {- completion -} |
333 |
353 |
334 completionN :: String; completion :: T |
354 completionN :: String; completion :: T |