;-------------------------------------------------------------------------------
;  Ada 2005 syntax for RJ TextEd
;  Version 1.0 (April, 2012)
;  Developed by Luis Pabón (mail@luispabon.org)
;-------------------------------------------------------------------------------
;
;  This syntax is based on the Ada Reference Manual ISO/IEC 8652:2007(E) Ed. 3
;  and the GNAT compiler libraries.
;
;  Main features:
;    • Highlightning of common elements (comments, strings, numbers, etc.)
;    • Highlightning of specific Ada elements:
;        - Reserved words
;        - Standard data types
;        - Standard exceptions
;        - Pragmas
;        - Atributtes
;   • Folding of Ada blocks:
;        - Packages
;        - Functions and procedures
;        - Control statements (if, case, loops, etc.)
;   • Code exploring of packages, procedures, functions and dependencies.
;   • Autocompletion of library elements (Standard and GNAT).
;
;-------------------------------------------------------------------------------

[Keywords]
Ada reserved words=abort|abs|abstract|accept|access|aliased|all|and|array|at|begin|body|case|constant|declare|delay|delta|digits|do|else|elsif|end|entry|exception|exit|for|function|generic|goto|if|in|interface|is|limited|loop|mod|new|not|null|of|or|others|out|overriding|package|pragma|private|procedure|protected|raise|range|record|rem|renames|requeue|return|reverse|select|separate|subtype|synchronized|tagged|task|terminate|then|type|until|use|when|while|with|xor|
Ada standard data types=boolean|character|duration|float|integer|long_float|long_integer|long_long_float|long_long_integer|natural|positive|short_float|short_integer|short_short_float|short_short_integer|string|wide_character|wide_string|wide_wide_character|wide_wide_string|
Ada standard exceptions=constraint_error|program_error|storage_error|tasking_error|
Ada pragmas=all_calls_remote|assert|assertion_policy|asynchronous|atomic|atomic_components|attach_handler|controlled|convention|detect_blocking|discard_names|elaborate|elaborate_all|elaborate_body|export|import|inline|inspection_point|interrupt_handler|interrupt_priority|linker_options|list|locking_policy|normalize_scalars|no_return|optimize|pack|page|partition_elaboration_policy|preelaborable_initialization|preelaborate|priority|priority_specific_dispatching|profile|pure|queuing_policy|relative_deadline|remote_call_interface|remote_types|restrictions|reviewable|shared_passive|storage_size|suppress|task_dispatching_policy|unchecked_union|unsuppress|volatile|volatile_components|
Ada attributes=access|address|adjacent|aft|alignment|base|bit_order|body_version|callable|caller|ceiling|class|component_size|compose|constrained|copy_sign|count|definite|delta|denorm|digits|exponent|external_tag|first|firstn|first_bit|floor|fore|fraction|identity|image|input|last|lastn|last_bit|leading_part|length|lengthn|machine|machine_emax|machine_emin|machine_mantissa|machine_mantissadigit|machine_overflows|machine_radix|machine_radixadjustment|machine_radixkradix_digits|machine_rounding|machine_rounds|max|max_size_in_storage_elements|min|mod|model|model_emin|model_epsilon|model_mantissa|model_small|modulus|output|outputstream|partition_id|pos|position|pred|priority|range|rangen|read|remainder|round|rounding|roundx|s|safe_first|safe_last|scale|scaling|signed_zeros|size|small|storage_pool|storage_size|stream_size|succ|tag|terminated|truncation|unbiased_rounding|unchecked_access|val|valarg|valid|value|version|wide_image|wide_value|wide_valuearg|wide_wide_image|wide_wide_value|wide_wide_valuearg|wide_wide_width|wide_width|width|write|

[Options]
LineCommentA=--
String="
StringOnLine=1
HexIdentifier=#
Symbols=&'()*+,./:;<=>|–
Numbers=0123456789
AddProjectClassesToCompletion=1
AutoCloseBraceStart=("
AutoCloseBraceEnd=)"
AutoCloseBlockStart=begin
AutoCloseBlockEnd=end;
AutoCompleteCharA=.
HintCharStart=(
HintCharEnd=)

[FoldOptions]
Separators=(;
Case=0
AlwaysAllowNesting=1

[Fold]
1_Id=
1_Begin=package body
1_End=end
1_ListItem=ceClass
2_Id=if
2_Begin=
2_End=end if
3_Id=case
3_Begin=
3_End=end case
4_Id=loop
4_Begin=
4_End=end loop
5_Id=record
5_Begin=
5_End=end record
5_ListItem=ceProperty
6_Id=procedure
6_Begin=begin
6_End=end
6_ListItem=ceMethod
7_Id=function
7_Begin=begin
7_End=end
7_ListItem=ceMethod
8_Id=declare
8_Begin=begin
8_End=end
9_Id=accept
9_Begin=do
9_End=end
10_Id=select
10_Begin=
10_End=end select
11_Id=task type
11_Begin=
11_End=end
11_ListItem=ceProperty
12_Id=task body
12_Begin=begin
12_End=end
12_ListItem=ceMethod
13_Id=with
13_Begin=
13_End=;
13_ListItem=ceNS
99_Id=begin
99_Begin=
99_End=end
