src/Pure/General/name_space.ML
changeset 62987 dc8a8a7559e7
parent 62967 5e8b1aead28f
child 63003 bf5fcc65586b
equal deleted inserted replaced
62986:9d2fae6b31cc 62987:dc8a8a7559e7
    11 sig
    11 sig
    12   type T
    12   type T
    13   val empty: string -> T
    13   val empty: string -> T
    14   val kind_of: T -> string
    14   val kind_of: T -> string
    15   val markup: T -> string -> Markup.T
    15   val markup: T -> string -> Markup.T
       
    16   val markup_def: T -> string -> Markup.T
    16   val the_entry: T -> string ->
    17   val the_entry: T -> string ->
    17     {concealed: bool, group: serial option, theory_name: string, pos: Position.T, serial: serial}
    18     {concealed: bool, group: serial option, theory_name: string, pos: Position.T, serial: serial}
    18   val entry_ord: T -> string * string -> order
    19   val entry_ord: T -> string * string -> order
    19   val is_concealed: T -> string -> bool
    20   val is_concealed: T -> string -> bool
    20   val intern: T -> xstring -> string
    21   val intern: T -> xstring -> string
   154 
   155 
   155 fun empty kind = make_name_space (kind, Change_Table.empty, Change_Table.empty);
   156 fun empty kind = make_name_space (kind, Change_Table.empty, Change_Table.empty);
   156 
   157 
   157 fun kind_of (Name_Space {kind, ...}) = kind;
   158 fun kind_of (Name_Space {kind, ...}) = kind;
   158 
   159 
   159 fun markup (Name_Space {kind, entries, ...}) name =
   160 fun gen_markup def (Name_Space {kind, entries, ...}) name =
   160   (case Change_Table.lookup entries name of
   161   (case Change_Table.lookup entries name of
   161     NONE => Markup.intensify
   162     NONE => Markup.intensify
   162   | SOME (_, entry) => entry_markup false kind (name, entry));
   163   | SOME (_, entry) => entry_markup def kind (name, entry));
       
   164 
       
   165 val markup = gen_markup false;
       
   166 val markup_def = gen_markup true;
   163 
   167 
   164 fun undefined (space as Name_Space {kind, entries, ...}) bad =
   168 fun undefined (space as Name_Space {kind, entries, ...}) bad =
   165   let
   169   let
   166     val (prfx, sfx) =
   170     val (prfx, sfx) =
   167       (case Long_Name.dest_hidden bad of
   171       (case Long_Name.dest_hidden bad of