Skip to content

Commit 3d53e53

Browse files
committed
Merge branch 'topic/string-lib' into 'main'
Update README to explain planned changes See merge request eng/shared/vss-text!6
2 parents dc04c7c + 7685631 commit 3d53e53

File tree

1 file changed

+28
-7
lines changed

1 file changed

+28
-7
lines changed

README.md

Lines changed: 28 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,40 @@
11
# VSS-Text
22

33
[![Build](https://github.com/AdaCore/vss-text/actions/workflows/main.yml/badge.svg)](https://github.com/AdaCore/vss-text/actions/workflows/main.yml)
4-
[![codecov](https://codecov.io/gh/AdaCore/vss-text/branch/master/graph/badge.svg)](https://codecov.io/gh/AdaCore/vss-text)
54
[![alire](https://img.shields.io/endpoint?url=https://alire.ada.dev/badges/vss-text.json)](https://alire.ada.dev/crates/vss-text.html)
65

76
A high level Unicode text processing library.
87

8+
## Warning - Work in Progress
9+
10+
This project is based on [`VSS`](https://github.com/AdaCore/VSS) (Virtual
11+
String System). VSS has been split into two projects:
12+
13+
* [`vss-text`](https://github.com/AdaCore/vss-text) (this project): a library for Unicode text
14+
processing.
15+
* [`vss-extra`](https://github.com/AdaCore/vss-extra): libraries for handling
16+
JSON, Regexp, XML and other features based on `vss-text`.
17+
18+
Significant changes are planned in `vss-text` with the goal to make it a
19+
high-quality, high-performance library suitable for a wide range of
20+
applications.
21+
22+
The changes include the following (non-exhaustive list):
23+
24+
* API Changes
25+
* Introduce an immutable string type.
26+
* Repurpose the mutable `Virtual_String` type to a string builder type.
27+
* Possibly rename the root package `VSS` to a new more appropriate name. GPR project and repository names might change accordingly.
28+
* (done) Drop the support of multiple internal encodings in favor of a single internal
29+
encoding (likely UTF-8) for improved performance.
30+
931
## The objectives
1032

1133
The objectives of this project are
1234

1335
* To introduce a definite type that represents a string of Unicode characters
1436
and provides a handy set of operations.
15-
* The API should be encoding independent and allows efficient implementations
16-
depending on platform/application and avoid extra encoding conversions, e.g.
17-
an UTF-8 internal representation for Gtk+ applications, UCS-2 for native
18-
Windows applications and UTF-16 for WebAssembly.
37+
* The API should be encoding independent and allows efficient implementations.
1938
* Besides separating string API from in-memory data representation, it should
2039
separate string API from input/output stream representation.
2140
* To provide a clear, well-defined semantic for iteration over string
@@ -33,12 +52,14 @@ that supports them.
3352
## Install
3453

3554
### Build from sources
55+
3656
Prefered way to install is to download sources and run
3757

3858
make all install PREFIX=/path/to/install
3959

40-
### Using `alire`
41-
Or you can use [alire](https://alire.ada.dev/) library manager:
60+
### Using `Alire`
61+
62+
Or you can use [Alire](https://alire.ada.dev/) library manager:
4263

4364
alr get --build vss_text
4465

0 commit comments

Comments
 (0)