Assertions that check that no No_Documents are present were removed.
The reason is because one could create a Document_Type object as
follows:
`Document : Document_Type;`
This is equivalent to No_Document.
To disallow this, we would have to make the type Document_Type limited,
which is not desirable.
Therefore, we should allow `No_Document` and simply skip any operations
on it.
Fix computation of indentation offset when indentation Kind is Tabs and
add test for it.
Move Indentation_Offset from Format_Options_Type to
Identation_Options_Type. The indentation offset now models smart tabs
where spaces are used both for indentation and alignemnt, or, tabs
are used for indentation and spaces for alignment.
This is needed for range formatting with tabs. For instance:
```
declare
Obj_Foo : constant Type_Foo :=
Value_Foo;
```
To range format Value_Foo we need an offset of 1 tab and 2 spaces.
All the indentation added has an offset equal to Indentation_Offset.
The main purpose of this options is to be used with range formatting.
This option does not affect the formatted document initial indentation.
- Remove prettier_ada_common.gpr
- Move project files to project root dir
- Remove BUILD_MODE external to avoid conflicts with other projects
- Default to "prod" BUILD_MODE
- Fix external variable names in Makefile
- Add LLVM-exception to license identifier
Rename the "document_formatter" project to "test_programs": upcoming
work will add more test programs, and having a single project file to
cover all of them will make it easier to build/install them, as well as
making it easier to share sources between test programs.