equal
deleted
inserted
replaced
50 val no_command_keywords: keywords -> keywords |
50 val no_command_keywords: keywords -> keywords |
51 val empty_keywords: keywords |
51 val empty_keywords: keywords |
52 val merge_keywords: keywords * keywords -> keywords |
52 val merge_keywords: keywords * keywords -> keywords |
53 val add_keywords: ((string * Position.T) * spec) list -> keywords -> keywords |
53 val add_keywords: ((string * Position.T) * spec) list -> keywords -> keywords |
54 val add_minor_keywords: string list -> keywords -> keywords |
54 val add_minor_keywords: string list -> keywords -> keywords |
|
55 val add_major_keywords: string list -> keywords -> keywords |
55 val is_keyword: keywords -> string -> bool |
56 val is_keyword: keywords -> string -> bool |
56 val is_command: keywords -> string -> bool |
57 val is_command: keywords -> string -> bool |
57 val is_literal: keywords -> string -> bool |
58 val is_literal: keywords -> string -> bool |
58 val dest_commands: keywords -> string list |
59 val dest_commands: keywords -> string list |
59 val command_markup: keywords -> string -> Markup.T option |
60 val command_markup: keywords -> string -> Markup.T option |
201 in (minor, major', commands') end)); |
202 in (minor, major', commands') end)); |
202 |
203 |
203 val add_minor_keywords = |
204 val add_minor_keywords = |
204 add_keywords o map (fn name => ((name, Position.none), no_spec)); |
205 add_keywords o map (fn name => ((name, Position.none), no_spec)); |
205 |
206 |
|
207 val add_major_keywords = |
|
208 add_keywords o map (fn name => ((name, Position.none), (diag, []))); |
|
209 |
206 |
210 |
207 (* keyword status *) |
211 (* keyword status *) |
208 |
212 |
209 fun is_keyword keywords s = Scan.is_literal (minor_keywords keywords) (Symbol.explode s); |
213 fun is_keyword keywords s = Scan.is_literal (minor_keywords keywords) (Symbol.explode s); |
210 fun is_command (Keywords {commands, ...}) = Symtab.defined commands; |
214 fun is_command (Keywords {commands, ...}) = Symtab.defined commands; |